我对点网标准有一些疑问,有些术语我不理解。
答案 0 :(得分:0)
.Net标准实际上只是功能列表;例如(这不太可能是一个,但是它说明了这一点),例如说.Net Standard的功能是File.Read函数;因此.Net Standard 1.0可能没有,但.Net Standard 2.0可能没有。因此,Windows 8.1实现了.Net Standard 1.0,但没有实现.Net Standard 2.0;因此通过使用v1.0可以支持Windows,但不能使用该功能,因为该平台上不存在该功能。
有受支持的平台和版本here的列表。
答案 1 :(得分:0)
当Microsoft谈论.NET Standard时,它们通常 * 只是指.NET Standard 规范:API列表。名称API在这里有点令人困惑,因此请将其视为功能。如果平台实施.NET标准,则它们必须提供所有这些API。在每个后续版本中,都会添加额外的API /功能,因此标准的版本越高,其中包含的API /功能越多。
平台是.NET标准的实现。它们由运行时(例如CLR,CoreCLR,Mono或UWP)和基类库组成。基类库或BCL必须包含标准中列出的所有API /功能。
当前,Microsoft有四个.NET Standard平台:.NET Framework(4.5及更高版本)、. NET Core,UWP和Mono。
您可以在list of implementations中看到,每个平台的不同版本支持标准的不同版本。因为它们都是向后兼容的(每个较新的版本都是-允许某些弃用-实质上是先前版本的超集),所以该平台实现的是该标准的最高版本,它提供的API或功能也更多。
因此,如果您以.NET Standard 2.0为目标,则可以看到有八个支持它的平台:最新版本的.NET Core,.NET Framework,Mono,各种Xamarin平台,UWP和Unity。
但是,如果您以.NET Standard 1.0为目标,则将有 21个平台支持您的应用程序:.NET Framework 4.5、4.5.1、4.6、4.6.1,Mono 4.6, Mono 4.6.1等。请记住,它们是向后兼容的,因此在技术上实现.NET Standard版本的所有平台也都实现了.NET Standard 1.0版本。 这就是他们的意思,“版本越低,实现的平台就越多。
*之所以这么说是因为,有时从技术上讲,这有时也将NetStandard.Library元包称为.NET Standard。