我在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是我使用的唯一软件包。
答案 0 :(得分:6)
来自dotnet build
's documentation:
如果项目具有第三方依赖项(例如NuGet中的库),则它们将从NuGet缓存中解析,并且不能与项目的内置输出一起使用。考虑到这一点,dotnet构建的产品尚未准备好转移到另一台机器上运行。
您想要dotnet publish
代替:
dotnet publish
命令的输出已准备好部署到托管系统(例如,服务器,PC,Mac,笔记本电脑)以供执行,并且是准备部署应用程序的唯一官方支持方式。