应用程序依赖项清单中指定的程序集

Alm*_*mis 4 c# ubuntu .net-core ubuntu-16.04 .net-core-2.0

我在mac上编写了一个.net核心控制台应用程序,它工作正常.然后我使用了为ubuntu构建了一个

dotnet build --runtime ubuntu.16.04-x64

结果是:

MyAppName.Server                MyAppName.Server.runtimeconfig.dev.json
MyAppName.Server.deps.json      MyAppName.Server.runtimeconfig.json
MyAppName.Server.dll            libhostfxr.so
MyAppName.Server.pdb            libhostpolicy.so
Run Code Online (Sandbox Code Playgroud)

我在linux服务器上复制了这些文件并运行以下命令

dotnet MyAppName.Server.dll

而现在我得到了

Error:
  An assembly specified in the application dependencies manifest (MyAppName.Server.deps.json) was not found:
    package: 'Ether.Network', version: '2.0.1'
    path: 'lib/netstandard1.3/Ether.Network.dll'
Run Code Online (Sandbox Code Playgroud)

Ether.Network是我使用的唯一软件包.

mil*_*bug 9

来自dotnet build的文件:

如果项目具有第三方依赖项(例如NuGet中的库),则它们将从NuGet缓存中解析,并且不能与项目的内置输出一起使用.考虑到这一点,dotnet构建的产品尚未准备好转移到另一台机器上运行.

你想要的是dotnet publish:

dotnet publish命令的输出是准备部署到主机系统(例如,服务器,PC,苹果机,笔记本电脑)来执行,是准备部署的应用程序的唯一正式支持的方式.