所有关于.Net Standard的讨论都让我感到困惑.从某种意义上说,标准.NET库的想法听起来很棒.我注意到在NuGet库中,您可以为许多平台选择.NET Standard(例如Silverlight).但这让我感到困惑..NET标准是一个库吗?还是DLL格式?
无论如何,现在有.NET Core项目,以及旧的PCL项目,但我没有看到.NET Standard的任何Visual Studio模板.虽然,我确实发现如果你进入项目的设置,你可以将现有的PCL库切换到.NET Standard.
无论如何,我要问的基本问题是我们应该针对哪种类型的库?我主要是为Xamarin项目做这个,但如果我们可以与其他平台共享这些库,那将会很棒,特别是.NET Core和UWP.
但是,我真的很困惑为什么微软同时推出了两个看似相同的库类型:.NET Core和.NET Standard.
编辑:我现在对此更加困惑.我正在编辑原帖,因为我还没有完全回答我自己的问题.以下是我认为理解这些事情的关键.我愿意接受更正.
定义
NET Core - 基于.NET的运行时环境,符合.NET标准API定义.
PCL - 基于.NET的库格式,由多个运行时环境支持,包括.NET,Mono,Windows Phone等
.NET Standard(定义1) - 基于.NET的运行时环境的一组标准API定义
.NET标准(定义2) - 基于.NET的库格式,由多个运行时环境支持,包括.NET,Mono,Windows Phone等,这是PCL格式的延续.在Visual Studio中,可以通过访问项目的属性并编辑目标框架将PCL库转换为.NET标准库.