如何获取 .NET Core 3.1 项目与 .NET 5.0 项目配合使用



当.NET 5.0发布时,提到的功能之一是能够创建.NET 5.0组件,它可以与.NET 3.1一起使用,因此您不必在不同版本之间使用.net标准。

好吧,我尝试将.net 3.1与.net 5.0一起使用,但不断出现错误。 我们必须做一些特别的事情来使这些工作吗? 我们公司有多个使用各种版本的 .NET 核心的应用程序。 从 2.2、3.0、3.1 到 .NET 5.0。 我们想为一些可重用的组件创建一些 NuGet 包,但试图弄清楚如何在这些应用程序中使用 .net core,我不想使用 .net 标准创建它们。

有没有人遇到过这个?

您没有提供错误,但尽管如此,已经可以说.NET 5不能确保向后兼容性。Microsoft在此处提供有关兼容性和重大更改的信息。

.NET 5.NET Framework.NET Core合并在一起,结束了保留两者的负担;目的是也包括MonoXamarin(MAUI)。但是,它不能确保与以前版本的兼容性。这是一篇关于该主题的好文章 - 不过有些功能被推迟到.NET 6

因此,获得所需兼容性的最佳方法是使用.NET Standard,或者更好的是,将应用程序迁移到.NET 5,因为以前版本的支持将很快结束。在我工作的团队中,我们从.NET Core 3.x迁移到.NET 5,这非常简单。

值得注意的是,.NET 5不是 LTS。 另一方面,.NET 6是。有关 .NET 版本和支持策略的更多详细信息,请参阅此处。

.net 5.0库/dll 不能从低于 .net 5.0 的 .net 版本引用。 应使用 .NET 标准 2.1 来实现不同版本的 .NET Core 和 .NET 5.0 之间的兼容性。

另一方面,假设可能可行,最好将所有 .net 核心项目更新到 5.0。在 .net 核心版本 <= 3.0(非 .net 标准)上已达到生命周期结束。

看这里。

最新更新