我在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的运行时,具体取决于机器发布。
我很感激你的帮助和解释。
抱歉语言不好。
答案 0 :(得分:1)
愚蠢的我一直在运行错误的应用程序DLL。当我应该在子目录发布中运行相同的dll时,我总是在netcoreapp1.1文件夹中运行应用程序dll。