.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版本。

 

.NET Standard 版本支持的更多相关文章

  1. SQL SERVER 2014 各个版本支持的功能

    转自:https://technet.microsoft.com/library/cc645993 转换箱规模限制 功能名称 Enterprise Business Intelligence Stan ...

  2. 发布 Rafy .NET Standard 版本 Nuget 包

    去年年中,Rafy 框架的源码就已经支持了 Net Standard 2.0 版本.其开源代码也已经上传到 Github 中:https://github.com/zgynhqf/rafy/tree/ ...

  3. Magicodes.IE编写多框架版本支持和执行单元测试

    背景 很多情况下,我们编写了一些工具库之后,往往在某些框架版本中会出现一些问题,比如本人最近写的一个导入导出的工具库Magicodes.IE(GitHub:https://github.com/xin ...

  4. 现在有哪些浏览器的哪些版本支持 HTML5

    现在有哪些浏览器的哪些版本支持 HTML5 1.IE IE9支持部分 IE10+支持2.Firefox Firefox3.5,3.6支持大部分 Firefox4.0+支持3.Chrome Chrome ...

  5. 将 Net 项目升级 Core项目经验:(三)迁移后的Net Standard版本的类库测试和多平台项目实测

    迁移后的Net Standard版本的类库测试和多平台项目实测 按照第一步的方法,添加一个Net Core的MSTest项目,然后将原来的测试项目下的代码迁移到新测试 项目中,然后引用新的Beyond ...

  6. MySQL 5.6 以上版本支持三种sql_mode模式:ANSI、TRADITIONAL和STRICT_TRANS_TABLES。

    Field 'id' doesn't have a default value问题解决方法 运维的名义关注0人评论3323人阅读2018-01-23 17:37:42   MySQL 5.0 以上版本 ...

  7. Node 各个版本支持ES2015特性的网站

    如果想了解Node 各个版本支持ES2015到那个程度,可以看下面网站. https://node.green/

  8. virtualbox谨记:win7上只有4.3.x的版本支持ubuntu14.04.3虚拟机安装Oracle Rac,其他的版本3.x和5.0.2(至2015-08-30)均不可以

    virtualbox谨记:win7上只有4.3.x的版本支持ubuntu14.04.3虚拟机安装Oracle Rac,其他的版本3.x和5.0.2(至2015-08-30)均不可以

  9. chromedriver版本 支持的Chrome版本

    在使用selenium测试时,如果选择chrome浏览器,需要将chrome driver的exe文件放在项目下 错误的driver版本,会导致无法正常打开本机的浏览器 以下为对应关系 来自网络 ch ...

随机推荐

  1. Kubernetes-14:一文详解Pod、Node调度规则(亲和性、污点、容忍、固定节点)

    Kubernetes Pod调度说明 简介 Scheduler 是 Kubernetes 的调度器,主要任务是把定义的Pod分配到集群的节点上,听起来非常简单,但要考虑需要方面的问题: 公平:如何保证 ...

  2. 白嫖码云Pages,两分钟的事,就能搭个百度能搜到的个人博客平台

    为了攒点钱让女儿做个富二代(笑),我就没掏钱买服务器,白嫖 GitHub Pages 搭了一个博客平台.不过遗憾的是,GitHub Pages 只能被谷歌收录,无法被百度收录,这就白白损失了一大波流量 ...

  3. 吐槽express 中间件multer

    工作不是那么忙,想学一下Express+multer弄一个最简单的文件上传,然后开始npm install,然后开始对着multer官方文档一顿操作. 前台页面最简单的: <!DOCTYPE h ...

  4. 答应我,用了这个jupyter插件,别再重复造轮子了

    1 简介 在使用Python.R等完成日常任务的过程中,可能会经常书写同样或模式相近的同一段代码,譬如每次使用matplotlib绘制图像的时候可以在开头添加下面两行代码来解决中文乱码等显示问题: p ...

  5. element.ui 自定义样式问题

    方法有很多种 自定义类名 <el-button class="search_button" @click="search">查询</el-bu ...

  6. JsonAnalyzer 源码下载

    下载地址:https://files.cnblogs.com/files/heyang78/JsonAnalyzer20200518-01.zip 测试用例:https://www.cnblogs.c ...

  7. TP6.0多应用模式隐藏路由中的应用名

    本文默认采用的是多应用模式 PHP技术群: 159789818 ThinkPHP技术群: 828567087 1. 多应用模式中隐藏路由中的应用名的三种方式 域名绑定应用 增加应用入口 入口文件绑定应 ...

  8. tcp建立连接为什么需要三次握手和四次挥手

    前言 众所周知tcp传输层协议在建立连接的时候需要三次才能建立起一个真正的可靠连接,可是为什么是三次呢,不可以是两次,四次等等呢,可以自己思考一番,带着疑问可以看下文. 三次握手 在<计算机网络 ...

  9. Python实现加密压缩成RAR或ZIP文件

    博主在前两篇博文分别介绍了加密RAR文件的解压https://www.cnblogs.com/kangbazi666/p/13646308.html和加密ZIP文件的解压https://www.cnb ...

  10. Mybatis 注解形式

        1.查询 // 查询 @Select("select id, name, type, numbers, cancelled, completed, percentage from c ...