.NET标准已版本化。每个新版本都添加了更多的api。当库是针对某个.NET标准版本构建的时,它可以在实现该版本的.NET标准(或更高版本)的任何.NET实现上运行。针对更高版本的.NET标准允许库使用更多的API,但这意味着它只能用于较新版本的.NET。针对较低版本会减少可用的api,但意味着库可以在更多地方运行。下列截图中展示了.NET Standard 各版本对不同.NET 实现的支持情况。

其他低版本的支持情况,请参考微软官方文档:https://dotnet.microsoft.com/platform/dotnet-standard#versions

从上图中可以看出

  • .NET Standard 版本越高,提供的API越多、功能越强大。
  • .NET Standard 2.0 对.NET Frmework 支持的最低版本为 4.6.1。
  • .NET Standard 2.1 不再支持.NET Framework。

要定位哪个 .NET Standard 版本

选择 .NET Standard 版本时,应权衡以下因素:

  • 版本越高,可使用的 API 就越多。
  • 版本越低,可实现它的平台就越多。

一般来说,建议尽可能定位最低版本 .NET Standard。 因此,在找到可以定位的最高版本 .NET Standard 后,请按照以下步骤操作:

  1. 定位前一更低版本的 .NET Standard,然后生成项目。
  2. 如果成功生成项目,请重复执行第 1 步。 否则,重新定位到后一较高版本,这就是应该使用的版本。

但是,定位更低版本的 .NET Standard 会引入许多支持依赖项。 如果项目定位 .NET Standard 1.x,我们建议 还定位 .NET Standard 2.0。 这简化了在 .NET Standard 2.0 兼容框架上运行的库的用户的依赖项关系图,并减少了下载所需的包数。

个人建议:为了同时支持.NET Core 与 .NET Framework,且尽可能多地使用API,建议选择.NET Standard 2.0。

如果不需要兼容.NET Framework,建议直接使用 .NET5版本。

 

最新文章

  1. HTML元素隐藏和显示
  2. ios 修改webView字体
  3. linux 下 用户与用户组
  4. open_table与opened_table
  5. JSP/SERVLET重定向技术综述
  6. LINQ,EF联合查询join
  7. C# 通用数据访问类(SqlHelper)
  8. andengine游戏引擎总结基础篇
  9. HTML不常用元素:optgroup
  10. CPU保护模式深入探秘
  11. Webserver管理系列:11、注意默认的隐含共享
  12. Android系统开发(2)——GDB调试工具
  13. 安装Oracle 9i - 初学者系列 - 学习者系列文章
  14. Hibernate5-课程笔记6
  15. Java开发笔记(三十九)日期工具Date
  16. Go开发之路 -- 指针类型
  17. Python开发【第四篇】函数
  18. Stripes视图框架与Struts2之间的比较
  19. css实现横向进度条和竖向进度条
  20. Java:内省(Introspector)

热门文章

  1. Java远程连接Linux服务器并执行命令及上传文件
  2. 支付-微信h5
  3. Jmeter 断言-检查点
  4. [bash]查找指定目录下符合格式的txt文件
  5. node-vuecli 脚手架安装
  6. Java 9天入门(黑马程序员) 课程收尾 ------学生管理系统 (9.13)
  7. C#托管堆和非托管堆
  8. Unit3:控件\布局
  9. Noip2017 Day2 T1 奶酪
  10. 正则表达式与SQL