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

时间:2018-02-03 18:26:24

标签: 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

我在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'

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

1 个答案:

答案 0 :(得分:6)

来自dotnet build's documentation

  

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

您想要dotnet publish代替:

  

dotnet publish命令的输出已准备好部署到托管系统(例如,服务器,PC,Mac,笔记本电脑)以供执行,并且是准备部署应用程序的唯一官方支持方式。