如何在Ubuntu上运行依赖于NuGet包的.net Core应用程序

时间:2018-08-20 08:05:07

标签: c# ubuntu asp.net-core console-application nuget-package

我有一个非常简单的.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的人)

1 个答案:

答案 0 :(得分:0)

我很快意识到自己做了什么!我已经复制了项目的/ bin /目录的输出,并尝试运行它。我实际上应该做的是复制“发布”的输出,其中包括应用程序所需的一切! h! :)