我有一个非常简单的.net Core(2.1)控制台应用程序,它使用几个NuGet软件包进行开发。当我编译(非自包含)时,其输出如下:
HelloWorld.deps.json
HelloWorld.dll
HelloWorld.pdb
HelloWorld.runtimeconfig.dev.json
HelloWorld.runtimeconfig.json
注意:为简单起见,我将应用程序输出重命名为HelloWorld
如果我使用以下命令运行控制台应用程序:
dotnet HelloWorld.dll
我得到以下输出:
错误:在应用程序依赖项中指定的程序集 清单(HelloWorld.deps.json)未找到: 软件包:'Microsoft.Azure.Amqp',版本:'2.3.0' 路径:'lib / netstandard1.3 / Microsoft.Azure.Amqp.dll'
我知道在开发过程中它缺少通过NuGet引用的程序集之一。由于这不是一个自包含的应用程序,并且期望它正在运行的计算机上具有.net Core Runtime或SDK,因此如何确保其他所需的dll存在?我本来希望任何非dotnet核心dll都在编译后的输出中,但它们不会出现。
感谢您提前提出任何建议! (我是刚在Ubuntu上运行.net Core的人)
答案 0 :(得分:0)
我很快意识到自己做了什么!我已经复制了项目的/ bin /目录的输出,并尝试运行它。我实际上应该做的是复制“发布”的输出,其中包括应用程序所需的一切! h! :)