.NET Standard 是一个令人困惑的概念。标准的 .NET 库格式听起来很好,但它确切是什么并不清楚。现在在 Visual Studio 中有 .NET Core 和 .NET Standard 类库项目模板,以及旧的 PCL 项目。如果您进入项目设置,您还可以将现有的 PCL 库转换为 .NET Standard。不清楚 .NET Standard 是一个库还是一个 DLL 格式。
我要问的基本问题是,我们应该针对哪种类型的库? 我主要是为 Xamarin 项目做这个,但如果我们能与其他平台共享这些库,特别是 .NET Core 和 UWP,那就太好了。让人困惑的是,微软同时推出了两种看似相同的类库类型:.NET Core 和 .NET Standard。
定义
NET Core - 一个符合 .NET Standard API 定义的基于 .NET 的运行时环境。
PCL - 一个由多个运行时环境支持的基于 .NET 的库格式,包括 .NET、Mono、UWP 等。
.NET Standard(定义1) - 一组用于 .NET 基础运行时环境的标准 API 定义。
.NET Standard(定义2) - 一个由多个运行时环境支持的基于 .NET 的库格式,包括 .NET、Mono、UWP 等,是 PCL 格式的延续。在 Visual Studio 中,可以通过进入项目属性并编辑目标框架来将 PCL 库转换为 .NET Standard 库。