.NET Framework:如何更新 System.Runtime?

.NET Framework: How to update System.Runtime?

我有一个从“Class 库”类型的项目编译的 DLL,它的目标框架是 netcoreapp3.1(编辑:现在 netstandard2.0)。

然后我在另一个项目中引用这个 DLL,一个 Windows Forms 应用程序,它针对 .NET Framework 4.7.2(编辑:现在 4.8)。

尝试编译 Windows Forms 应用程序时,出现以下错误:

Error CS1705: Assembly 'BC' with identity 'BC, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null' uses 'System.Runtime, Version=4.2.2.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a' which has a higher version than referenced assembly 'System.Runtime' with identity 'System.Runtime, Version=4.1.2.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a'

我想在 WinForms 项目上更新 System.Runtime 以使用版本 4.2.2.0(这显然是我的 DLL 所需要的),但是,我找不到这样做的方法 - 没有 NuGet 包安装并且 Visual Studio 中的参考部分似乎没有直接包含 System.Runtime

如何更新 System.Runtime 并解决错误?

尝试以下任一方法:

  • 将您的 WinForms 项目升级到 .NET 4.8,因为该版本中有很多兼容性修复。 .NET 4.8 在与 .NET Core 库接口时仍然存在问题,但许多问题都会消失。

  • 或者尝试将您的库更改为 .netstandard2.0。那么它应该始终与 Net Framework 兼容。

为了获得最佳兼容性,请同时尝试:将库设置为 .netstandard2.0 并将 WinForms 应用程序更改为 .NET 4.8。