因此.NET Standard
是.NET API的正式规范,旨在用于所有.NET实现。我有两份申请。UI(.NET Core 3.1(和API(.NET 4.7.2(。我的框架库是在.NET Standard 2.0中开发的,因此我可以在这两个应用程序之间共享它们。
我将开发主要具有业务逻辑的Domain
库。据我所知,并非所有.NET API都可以在.NET Standard中使用。所以我的业务逻辑需要坚持使用.NET标准中提供的API。
我想知道.NET Standard
的目的是否只是开发框架类型的库?使用.NET标准开发共享域特定逻辑有什么缺点吗?
不,没有任何缺点。区别仅在于选择.NET标准的最低要求版本(链接(:
应用程序组件。如果您正在使用库来分解应用程序分为几个组件,我建议使用netX.Y,其中X.Y是应用程序的最低.NET数量(或应用程序(正在瞄准。为了简单起见,您可能想要组成应用程序的项目位于.NET,因为这意味着您可以在任何地方使用相同的BCL功能。
可重复使用的库。如果你正在构建可重复使用的库计划在NuGet上发货,您需要考虑权衡在范围和可用功能集之间。NET Standard 2.0是.NET Framework支持的.NET标准的最高版本,所以它会给你最大的影响力,同时也会给你一个公平的可使用的大型功能集。我们通常建议不要以.NET Standard 1.x为目标,因为它不值得再麻烦了。如果你不需要支持.NET Framework,那么你可以使用.NET Standard 2.1或.NET 5。大多数代码可能会跳过.NET标准2.1,然后直接进入.NET 5。