首页 > 解决方案 > 如何在 Ubuntu 上运行依赖于 NuGet 包的 .net Core 应用程序

问题描述

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

标签: c#ubuntuasp.net-coreconsole-applicationnuget-package

解决方案


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


推荐阅读