【问题标题】:.NET Core 2.0 Build not including dependencies.NET Core 2.0 Build 不包括依赖项
【发布时间】:2018-03-30 13:40:56
【问题描述】:

当我构建我的 .NET Core 2.0 控制台应用程序时,我将它移到服务器上,然后尝试运行它。我收到错误“应用程序依赖项清单中指定的程序集...”

我将 dll 添加到它正在搜索的本地文件夹中,但它最终仍然需要像 Data.SqlClient 这样的系统 dll。

如何构建包含输出文件中所有依赖项的项目?我已经使用 Visual Studio 2017 发布了该项目,但是,当我复制所有这些文件时,它仍然说缺少一些东西。我尝试使用 VSCode 构建和发布,但遇到了同样的问题。

【问题讨论】:

  • 在 Visual Studio 中,右键单击引用并选择属性。复制本地是否设置为真?如果没有,请将其设置为 true,看看它是否能解决您的问题。

标签: c# .net-core build


【解决方案1】:

我遇到了类似的问题。当我在主机环境中部署我的应用程序并使用诸如“dotnet myapp.dll”之类的 dotnet 命令执行时,它使用主机环境的 .NET Core 运行时运行良好。 但是,当我将相同的应用程序打包为包含 .exe 文件以启动应用程序的独立应用程序时,执行 .exe 文件时,我遇到了 Newtonsoft.json Nuget Package 的此错误。 我的观察如下,我能够相应地解决问题。

依赖于框架的部署:
如果应用程序使用第三方库并且打算在主机环境中使用 .NET Core 运行时,则必须在 Nuget 包管理器中选中“管理解决方案包”中的复选框(如屏幕截图所示) .



独立部署:
如果发布的应用程序应该是主机环境中的独立应用程序(即使使用 .exe 文件),则应用程序的 .csproj 文件应包含指定的 RuntimeIdentifiers (.NET Core RIDs)。第三方库也必须包含在 PackageReference 中。例如,

参考:https://docs.microsoft.com/en-us/dotnet/core/deploying/deploy-with-vs

【讨论】:

  • 该复选框(在第一个屏幕截图中)与任何持久状态无关:它只是用于选择要安装或卸载的项目。
【解决方案2】:

您需要发布应用程序以包含所有依赖项

【讨论】:

  • OP特别说项目是用VS 2017发布的。
猜你喜欢
  • 1970-01-01
  • 2014-08-20
  • 2018-03-03
  • 2023-03-09
  • 2023-03-24
  • 2016-05-18
  • 1970-01-01
  • 1970-01-01
  • 2021-03-22
相关资源
最近更新 更多