.Net vs .Net Core,我改如何选择?看这一篇文章就够了 (2)

在大多数情况下,您不需要将现有应用程序迁移到.NET Core。相反,建议的方法是在扩展现有应用程序时使用.NET Core,例如在ASP.NET Core中编写新的Web服务。

需要使用不适用于.NET Core的第三方.NET库或NuGet软件包

图书馆正在迅速拥抱.NET标准。 .NET Standard支持跨所有.NET实现(包括.NET Core)共享代码。使用.NET Standard 2.0,这甚至更加容易:

API的表面变得更大。

引入了.NET Framework兼容模式。此兼容模式允许.NET Standard / .NET Core项目引用.NET Framework库。要了解有关兼容模式的更多信息,请参见宣布.NET Standard 2.0。
因此,仅在库或NuGet软件包使用.NET Standard / .NET Core中不可用的技术的情况下,才需要使用.NET Framework。

需要使用.NET Core不可用的.NET技术

.NET Core中不提供某些.NET Framework技术。其中一些可能在更高的.NET Core版本中可用。其他则不适用于.NET Core定位的新应用程序模式,并且可能永远不可用。以下列表显示了.NET Core中找不到的最常见技术:

ASP.NET Web窗体应用程序:

ASP.NET Web窗体仅在.NET Framework中可用。 ASP.NET Core不能用于ASP.NET Web窗体。没有计划将ASP.NET Web窗体引入.NET Core。

ASP.NET Web Pages应用程序:

ASP.NET Core中不包含ASP.NET Web Pages。

WCF服务实施。

即使有WCF-Client库可以使用.NET Core中的WCF服务,WCF服务器实现当前也仅在.NET Framework中可用。该方案不是当前.NET Core计划的一部分,但正在考虑将来使用。

与工作流相关的服务:

Windows Workflow Foundation(WF),工作流服务(单个服务中的WCF + WF)和WCF数据服务(以前称为“ ADO.NET数据服务”)仅在.NET Framework中可用。没有计划将WF / WCF + WF / WCF数据服务引入.NET Core。

需要使用不支持.NET Core的平台

某些Microsoft或第三方平台不支持.NET Core。某些Azure服务提供了尚无法在.NET Core上使用的SDK。这是一个过渡情况,因为所有Azure服务都使用.NET Core。同时,您始终可以使用等效的REST API代替客户端SDK。

结语

以上总结了.Net与.Net Framework之间的差异和每项的最佳使用场景,希望能够为刚上手.Net的朋友们答疑解惑。接下来我会陆续制作.Net与.Net Core相关基础教程,并分享到个人博客,希望大家能够关注支持,原创,喜欢的话记得帮忙点个赞。

file

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:https://www.heiqu.com/wpjzsg.html