.net-standard - 使用 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 标准(链接)的最低要求版本方面的区别:
应用程序组件。如果您使用库将您的应用程序分解为多个组件,我的建议是使用 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。
推荐阅读
- c# - Serilog中不同级别的不同日志文件
- java - 如何使用来自firebase的适配器排除ArrayList中的数据条目?
- python - 为什么通过 selenium 打开链接时出现错误?
- regex - 正则表达式查找包含 5-8 位数字和至少 1 次出现下划线“_”字符的字符串
- powerbi - Power BI,如何显示多个选定的值?
- ios - 在 iOS 相机中启动定期任务以使用帧数据的最佳方法是什么?
- python - 如何正确地将用户定义的方法映射到 Python Flask 中的 GET/POST HTTP 调用?
- python - 在 pandas 单元格中显示 numpy 数组的自定义信息
- javascript - 根据滚动条可见性设置元素的样式
- database - SDO_WITHIN_DISTANCE 的 Oracle Spatial 搜索查询错误(基于纬度/经度)