c# - 如何在 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 的新手)
解决方案
我很快意识到我做了什么!我已经复制了我项目的 /bin/ 目录的输出并尝试运行它。我实际上应该做的是从“发布”复制输出,其中包括应用程序所需的一切!嗬!:)
推荐阅读
- indexing - 使用增值税号作为分区键在 DynamoDB 中存储企业
- python - 如何从捕获 url 模式“命名组”Django 中排除字符串
- reactjs - 单击“玩笑处理”
- jquery - 如何设置拖放可拖动元素的时间延迟
- c# - 可以创建 WinForms 表单/控件 c# 的实时预览
- android - getApplicationContext() 在应用程序的 onCreate() 中返回 null
- c - C 指针:抛出异常:读取访问冲突
- javascript - 如何将打字稿类型添加到 ES6 箭头函数?
- .net - 什么时候可以安全返回跨度
从堆栈分配的变量/缓冲区初始化? - python - 使用按钮 Tikinter python 3 传递输入