.NET Core 2.0及.NET Standard 2.0
.NET Core 2.0的发布时间,.NET Core 2.0预览版及.NET Standard 2.0 Preview大概在5月中旬或下旬发布。
.NET Core 2.0正式版本发布时间大约在Q3 2017发布,具体我估计大概在8月份左右。同时一起发布的也就是.NET Standard 2.0。
Milestone | Release Date |
---|---|
.NET Core 2.0 Preview | Q2 2017 |
.NET Standard 2.0 Preview | Q2 2017 |
.NET Core 2.0 | Q3 2017 |
.NET Standard 2.0 | Q3 2017 |
微软计划在5月10日将corefx 中标记为2.0 的bug 完全修复。使其顺利发布 .NET Core 2.0 Preview 和 .NET Standard 2.0 Preview 。
以下为具体链接: Announcement: Driving towards zero 2.0 bugs by 2017/5/10 (ZBB) ZBB (zero bug bounce)。
大家也可以参与其中,贡献自己的一份力量。
.NET Core 2.0版最低操作系统支持
OS | Version | Architectures | Configurations | Notes |
---|---|---|---|---|
Windows Client | 7 SP1+ | x64, x86 | ||
Windows Server | 2008 R2 SP1+ | x64, x86 | Full, Server Core, Nano | |
Red Hat Enterprise Linux | 7.3+ | x64 | This includes Centos and Oracle Linux | |
Fedora | 25+ | x64 | ||
Debian | 8.7+ | x64 | ||
Ubuntu | 14.04+ | x64, arm32 [C] | This includes Linux Mint 17 for x64 | |
openSUSE | 42.2+ | x64 | ||
Tizen | 4+ | arm32 [S] | Tizen .NET Developer Preview | |
Mac OS X | 10.12+ | x64 |
S 为得到三星支持
C 为得到社区支持
那么.NET Core 2.0 及 .NET Standard 2.0 将会带来哪些改变。
降低入门及学习的障碍,.NET Standard 2.0通过标准化共享API,可以轻松地跨.NET Framework,.NET Core和Xamarin共享代码。
.NET Framework 4.6.1支持.NET Standard 2.0
.NET Standard 2.0 添加了许多.NET Framework 4.6.1 支持的API,以及.NET Standard 2.0 自己特有的API
- .NET Standard 2.0 添加了 14,994 个.NET Framework 4.6.1已经支持的API
- .NET Standard 2.0 只有 43 个 .NET Framework 4.6.1不支持的API
.NET Standard 2.0 将是.NET Standard 1.6的超集。 换句话说,.NET Standard 2.0和1.x不会发生突破性的变化。
.NET Framework 4.6.1将允许引用根据.NET Standard 2.0编译的二进制文件。
最终可以理解为.NET Core 2.0 将是等价于 .NET Framework 4.6.1。
.NET Standard 2.0 工作正在进行中
Namespace | #APIs |
---|---|
Microsoft.Win32.SafeHandles | 32 |
System | 1,087 |
System.CodeDom.Compiler | 14 |
System.Collections | 292 |
System.Collections.Generic | 17 |
System.Collections.ObjectModel | 1 |
System.Collections.Specialized | 241 |
System.ComponentModel | 1,499 |
System.ComponentModel.Design | 520 |
System.ComponentModel.Design.Serialization | 150 |
System.Configuration.Assemblies | 13 |
System.Data | 1,399 |
System.Data.Common | 701 |
System.Data.SqlTypes | 882 |
System.Diagnostics | 772 |
System.Diagnostics.CodeAnalysis | 2 |
System.Diagnostics.Contracts | 89 |
System.Diagnostics.Contracts.Internal | 3 |
System.Diagnostics.SymbolStore | 144 |
System.Diagnostics.Tracing | 2 |
System.Drawing | 681 |
System.Dynamic | 173 |
System.Globalization | 188 |
System.IO | 275 |
System.IO.IsolatedStorage | 104 |
System.IO.MemoryMappedFiles | 64 |
System.IO.Pipes | 124 |
System.Linq | 351 |
System.Linq.Expressions | 41 |
System.Net | 1,271 |
System.Net.Cache | 50 |
System.Net.Mail | 279 |
System.Net.Mime | 69 |
System.Net.NetworkInformation | 692 |
System.Net.Security | 147 |
System.Net.Sockets | 164 |
System.Net.WebSockets | 165 |
System.Numerics | 344 |
System.Reflection | 348 |
System.Reflection.Emit | 3 |
System.Resources | 89 |
System.Runtime | 12 |
System.Runtime.CompilerServices | 164 |
System.Runtime.ConstrainedExecution | 22 |
System.Runtime.ExceptionServices | 6 |
System.Runtime.InteropServices | 96 |
System.Runtime.InteropServices.ComTypes | 15 |
System.Runtime.Remoting.Messaging | 55 |
System.Runtime.Serialization | 463 |
System.Runtime.Serialization.Formatters | 13 |
System.Runtime.Serialization.Formatters.Binary | 28 |
System.Runtime.Serialization.Json | 64 |
System.Runtime.Versioning | 33 |
System.Security | 117 |
System.Security.Authentication | 11 |
System.Security.Authentication.ExtendedProtection | 40 |
System.Security.Claims | 205 |
System.Security.Cryptography | 684 |
System.Security.Cryptography.X509Certificates | 67 |
System.Security.Permissions | 87 |
System.Security.Principal | 34 |
System.Text | 56 |
System.Text.RegularExpressions | 29 |
System.Threading | 313 |
System.Threading.Tasks | 66 |
System.Timers | 36 |
System.Web | 32 |
System.Xml | 1,011 |
System.Xml.Linq | 6 |
System.Xml.Resolvers | 20 |
System.Xml.Schema | 924 |
System.Xml.Serialization | 935 |
System.Xml.XPath | 244 |
System.Xml.Xsl | 137 |
.NET Standard 版本对应
.NET Standard
| 1.0 | 1.1 | 1.2 | 1.3 | 1.4 | 1.5 | 1.6 | 2.0 |
---|---|---|---|---|---|---|---|---|
.NET Core | 1.0 | 1.0 | 1.0 | 1.0 | 1.0 | 1.0 | 1.0 | 2.0 |
.NET Framework | 4.5 | 4.5 | 4.5.1 | 4.6 | 4.6.1 | 4.6.1 |
4.6.1 |
4.6.1 |
Mono | 4.6 | 4.6 | 4.6 | 4.6 | 4.6 | 4.6 | 4.6 | vNext |
Xamarin.iOS | 10.0 | 10.0 | 10.0 | 10.0 | 10.0 | 10.0 | 10.0 | vNext |
Xamarin.Android | 7.0 | 7.0 | 7.0 | 7.0 | 7.0 | 7.0 | 7.0 | vNext |
Universal Windows Platform | 10.0 | 10.0 | 10.0 | 10.0 | 10.0 | vNext | vNext | vNext |
Windows | 8.0 | 8.0 | 8.1 | |||||
Windows Phone | 8.1 | 8.1 | 8.1 | |||||
Windows Phone Silverlight | 8.0 |
.NET Standard
对于开发人员来说,这意味着他们只需要掌握一个基类库。该库面向.NET Standard 将能够在所有.NET平台上运行。
.NET Standard 的核心使命在于解决 .NET 跨平台时基础链接库不一致的问题。
参考文档:
https://github.com/dotnet/core/blob/master/roadmap.md
https://github.com/dotnet/standard/tree/master/docs/netstandard-20
https://github.com/dotnet/standard/blob/master/docs/versions/netstandard2.0.md
https://blogs.msdn.microsoft.com/dotnet/2016/09/26/introducing-net-standard/