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

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

我得到以下输出:

Error: An assembly specified in the application dependencies manifest (HelloWorld.deps.json) was not found: package: 'Microsoft.Azure.Amqp', version: '2.3.0' path: 'lib/netstandard1.3/Microsoft.Azure.Amqp.dll'

我知道它缺少在开发过程中通过 NuGet 引用的程序集之一。由于这不是一个独立的应用程序,并且需要在其运行的机器上安装 .net Core Runtime 或 SDK,我如何确保其他所需的 dll 存在?我原以为任何非 dotnet 核心 dll 都会出现在编译输出中,但它们并没有出现。

提前感谢您的指点! (我刚开始在 Ubuntu 上运行 .net Core)

最佳答案

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

关于c# - 如何在 Ubuntu 上运行依赖于 NuGet 包的 .net Core 应用程序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51926458/

相关文章:

c# - 找不到 ASP.NET View

c# - 如何在 Jonathan Oliver 的 EventStore 中获取配置了连接字符串的 SqlPersistence 实例?

c# - TweetSharp GetAccessToken 方法返回 null 但只是有时

linux - 更新 Ubuntu guest 后 Vagrant "ssh_exchange_identification: Connection closed by remote host"

c# - 自定义文本框不绘制

linux - rsync 守护进程行为异常

c++ - 用于查看互联网连接和构建防火墙的 Shell 脚本或 C++ 库

c# - index.html 未显示为默认页面

c# - ASP.NET Core 中的 ConfigureServices() 和 Configure() 有什么区别?

javascript - react 自定义组件(数据表)