【问题标题】:How to build application targetting .Net 4/4.5 on CentOs如何在 CentO 上构建面向 .Net 4/4.5 的应用程序
【发布时间】:2021-10-22 22:53:28
【问题描述】:

我有很多遗留代码可以在带有 .Net 4.5 的 Windows 上正常构建

我正在尝试在 CentOS 上使用 dotnet-sdk 构建相同的自动化和许可问题。

安装所需软件包后,按照 Microsoft 链接,此命令失败

$ dotnet msbuild  sharpTest.sln

/usr/share/dotnet/sdk/5.0.301/Microsoft.Common.CurrentVersion.targets(1216,5): error MSB3644: The reference
assemblies for .NETFramework,Version=v4.0 were not found. To resolve this, install the Developer Pack
(SDK/Targeting Pack) for this framework version or retarget your application. You can download .NET Framework
Developer Packs at https://aka.ms/msbuild/developerpacks 

自从我安装了dotnet-sdk-5,似乎无法构建解决方案。但我找不到 CentOS 的 .Net framework 4

我该如何解决这个问题?

【问题讨论】:

  • 对此有何建议?

标签: msbuild


【解决方案1】:

它引用 .NETFramework。 .NETFramework V4.0 不是 xplat,因此不能在 Windows 以外的任何平台上使用。您应该尝试将您的解决方案重新定位到 net5.0 并使其独立于 Windows 特定的依赖项。

要重新定位到 net5.0,请尝试 dotnet upgrade-assistant(它是一个 dotnet 工具)。首先在 Windows 机器上执行此操作。要解决在 windows 或 .NetFramework 之外无法工作的任何 windows 依赖项,请参阅Overview of porting from .NET Framework to .NET

【讨论】:

  • 我相信配置文件的简单更改不会有帮助,对吧?我需要重做一些代码,解决依赖关系等。
  • 是的,你是对的。如果你有任何依赖于任何 Windows 特定功能的东西,那么你也需要修复它。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2014-08-07
  • 1970-01-01
  • 1970-01-01
  • 2015-11-25
  • 2015-10-23
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多