微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

.NET 5 可以取代 .NET Standard,而 .NET Core 3.1 不能吗?用例

如何解决.NET 5 可以取代 .NET Standard,而 .NET Core 3.1 不能吗?用例

在 10 月份,我被要求从一位离职到另一家公司的同事手中接手一个 IT 项目。这位同事做了一个 IT 项目,他必须使用用 .NET Framework 4.7 编写的“旧库”。他想在 .NET Core 中使用 WPF 应用程序,但很快就发现无法立即引用这些 .NET Framework 4.7 项目。通过如下图设置整个体系结构,他在业务逻辑(调用旧库)中使用了 .NET Standard 2.0 项目。这些业务逻辑一方面可以在 WPF .Net Core 3.1 应用程序中引用,另一方面可以调用 .NET Framework 4.7 项目(在这个简化的示例中:Food Calculator 和 Shelter Calculator)。

当我在 11 月接任时,.NET 5 发布了,我看到了这篇文章 Microsoft Says .Net 5 replaces .NET Standard (Except for...) 。这让我觉得我可能会一直使用 .NET 5 并且我将所有代码(除了我目前无法更改的旧库)移植到 .NET 5。现在这个似乎可以简化我认为的架构。

请看我的概述,其中第一个版本 (1.0) 为红色,第二个版本 (2.0) 为蓝色。

现在我的问题:在这种情况下,可以得出结论,.NET 5 不仅是.NET Core 3.1 的下一个版本,而是更进一步...在某种程度上,.NET 5 也使 .NET Standard 在这些类型的体系结构中过时了?或者这是一个非常特殊的情况,如果我想制作 Blazor 客户端而不是 WPF,仍然需要 .NET Standard?

Animal IT Project

解决方法

.NET 5 及更高版本最终将使 .NET Standard 过时,但只要您尚未将所有应用程序移植到 .NET 5,您仍然可以从在共享类库中使用 .NET Standard 受益。

这样做意味着您可以从新的 .NET 5 应用程序以及仍以 .NET Core 或 .NET Framework 为目标的应用程序中引用它们。

将类库从 .NET Standard 升级到 .NET 5 的唯一真正好处是,您将能够使用 .NET Standard 中不存在的任何新 API。

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。