.NET标准库上的.NET Core库有什么优势吗?

时间:2017-06-29 12:48:26

标签: shared-libraries .net-core .net-standard

我正在将我的应用程序从VS2015移植到VS2017并尝试找出正确的迁移路径。我也将我的Web服务移动到.NET Core,以利用部署到Linux或Windows服务器。我看到我可以选择在.NET Standard或.NET Core中创建基本库。 .NET Core库是否有任何优势,或者我应该在.NET Standard中默认创建基本库吗?

3 个答案:

答案 0 :(得分:5)

实际上,.NET Standard 2.0是.NET Framework 4.6.2(-ish)和.NET Core 2.0的交集。

如果您构建一个面向.NET Standard 2.0的库,那么您的库可以被.NET Framework库和应用程序以及.NET Core库和应用程序使用。这是标准的优势。

但是有几种类型/成员已添加到.NET Core中,不是 .NET Standard的一部分。如果你想使用类似新的CertificateRequest类的东西,你需要明确地以.NET Core为目标。

.NET Core允许新用户比.NET Framework更快地获得用户,因此一般的权衡将始终是“.NET Standard =>更多地方; .NET Core =>更新的东西”。

答案 1 :(得分:-2)

.Net Standard只是带有接口的包,可用于提供.Net Framework.Net Coreothers

之间的兼容性

答案 2 :(得分:-2)

我不会选择.NET Core库。不同之处在于引用的库:

  • .NET标准库引用netstandardX.X NuGet元数据包
  • .NET Core库引用netcoreappX.X NuGet元数据包

netcoreapp软件包还包括一些.NET标准软件包,还有一些特定于.NET Core App的软件包(包括libuv。不知道库需要libuv的原因。)

因此,.NET标准库适用于跨平台,而.NET Core库适用于.NET Core