发布和部署.net核心应用程序到Linux

时间:2017-03-11 12:17:42

标签: windows-10 .net-core ubuntu-16.04 asp.net-core-webapi

我在vmware上运行的ubuntu 16.04桌面上发布和部署.net核心web-api已经非常了解。我开发了一个简单的web-api应用程序,几乎没有来自模板v1.1的额外实现。我一直在安装和使用一些可在.net核心中运行的依赖项。

问题: 我使用框架依赖版本v1.1。 我可以使用" dotnet publish -c release"在Windows上启动已发布的版本。它工作正常。然后我将发布的文件移动到我的ubuntu机器并尝试运行它我得到错误,它无法找到某种我知道在dll文件夹中的程序集。

但是,如果我将源代码和项目移动到我的ubuntu机器并进行" dotnet restore"和" dotnet发布-c release"该应用程序工作。如果我不使用" dotnet恢复"并试图在我的ubuntu机器上发布另一个"你错过了一个程序集参考"。

我的猜测是,当我做的时候,#dot; dotnet发布-c release"它只针对windows或ubuntu的运行时,具体取决于机器发布。

我很感激你的帮助和解释。

抱歉语言不好。

1 个答案:

答案 0 :(得分:1)

愚蠢的我一直在运行错误的应用程序DLL。当我应该在子目录发布中运行相同的dll时,我总是在netcoreapp1.1文件夹中运行应用程序dll。