首页 > 解决方案 > 使用 Net Standard 库进行业务逻辑

问题描述

.NET API 的正式规范也是如此.NET Standard,旨在用于所有 .NET 实现。我有 2 个应用程序。UI (.NET Core 3.1) 和 API (.NET 4.7.2)。我的框架库是在 .NET Standard 2.0 中开发的,因此我可以在这两个应用程序之间共享它们。

我将开发Domain主要具有业务逻辑的库。我了解并非所有 .NET API 都在 .NET Standard 中可用。所以我的业务逻辑需要坚持使用 .NET Standard 中可用的 API。

我想知道的目的是.NET Standard不是只开发框架类库?使用 .NET Standard 开发共享域特定逻辑是否有任何缺点?

标签: .net-standard.net-standard-2.0

解决方案


不,没有任何缺点。仅在选择 .NET 标准(链接)的最低要求版本方面的区别:

应用程序组件。如果您使用库将您的应用程序分解为多个组件,我的建议是使用 netX.Y,其中 XY 是您的应用程序(或多个应用程序)所针对的最低数量的 .NET。为简单起见,您可能希望构成您的应用程序的所有项目都在同一版本的 .NET 上,因为这意味着您可以在任何地方假设相同的 BCL 功能。

可重用的库。如果您正在构建计划在 NuGet 上发布的可重用库,您需要考虑在覆盖范围和可用功能集之间进行权衡。.NET Standard 2.0 是 .NET Framework 支持的 .NET Standard 的最高版本,因此它将为您提供最大的覆盖范围,同时还为您提供相当大的功能集供您使用。我们通常建议不要以 .NET Standard 1.x 为目标,因为它不再值得麻烦。如果您不需要支持 .NET Framework,则可以使用 .NET Standard 2.1 或 .NET 5。大多数代码可能会跳过 .NET Standard 2.1 并直接使用 .NET 5。


推荐阅读