.NET Core 库比 .NET Standard 库有什么优势吗?
Is there any advantage to a .NET Core library over .NET Standard library?
我正在将我的应用程序从 VS2015 移植到 VS2017,并试图找出正确的迁移路径。我还将我的 Web 服务移动到 .NET Core 以利用部署到 Linux 或 Windows 服务器的优势。我发现我可以选择在 .NET Standard 或 .NET Core 中创建基础库。 .NET Core 库有什么优势,还是我应该默认在 .NET Standard 中创建基础库?
.Net Standard
is just package with interfaces with can be used to provide compatibility across .Net Framework
, .Net Core
and others
我不会选择 .NET Core 库。不同之处在于引用的库:
- .NET Standard 库引用 netstandardX.X NuGet 元包
- .NET Core 库引用 netcoreappX.X NuGet 元包
netcoreapp 包还包括一些 .NET Standard 包,还有一堆 .NET Core App 特定包(包括 libuv。不知道为什么库需要 libuv。)
因此 .NET Standard 库适用于跨平台,而 .NET Core 库仅适用于 .NET Core
实际上,.NET Standard 2.0 是 .NET Framework 4.6.2(-ish) 和 .NET Core 2.0 的交集。
如果您构建一个面向 .NET Standard 2.0 的库,那么您的库可以被 .NET Framework 库和应用程序以及 .NET Core 库和应用程序使用。这就是标准的优势。
但是有几个 types/members 已添加到 .NET Core,但 不是 .NET Standard 的一部分。如果您想使用新的 CertificateRequest class 之类的东西,您需要明确定位 .NET Core。
.NET Core 允许新事物比 .NET Framework 更快地到达用户手中,因此一般权衡总是“.NET Standard => 更多地方;.NET Core => 更新事物”。
我正在将我的应用程序从 VS2015 移植到 VS2017,并试图找出正确的迁移路径。我还将我的 Web 服务移动到 .NET Core 以利用部署到 Linux 或 Windows 服务器的优势。我发现我可以选择在 .NET Standard 或 .NET Core 中创建基础库。 .NET Core 库有什么优势,还是我应该默认在 .NET Standard 中创建基础库?
.Net Standard
is just package with interfaces with can be used to provide compatibility across .Net Framework
, .Net Core
and others
我不会选择 .NET Core 库。不同之处在于引用的库:
- .NET Standard 库引用 netstandardX.X NuGet 元包
- .NET Core 库引用 netcoreappX.X NuGet 元包
netcoreapp 包还包括一些 .NET Standard 包,还有一堆 .NET Core App 特定包(包括 libuv。不知道为什么库需要 libuv。)
因此 .NET Standard 库适用于跨平台,而 .NET Core 库仅适用于 .NET Core
实际上,.NET Standard 2.0 是 .NET Framework 4.6.2(-ish) 和 .NET Core 2.0 的交集。
如果您构建一个面向 .NET Standard 2.0 的库,那么您的库可以被 .NET Framework 库和应用程序以及 .NET Core 库和应用程序使用。这就是标准的优势。
但是有几个 types/members 已添加到 .NET Core,但 不是 .NET Standard 的一部分。如果您想使用新的 CertificateRequest class 之类的东西,您需要明确定位 .NET Core。
.NET Core 允许新事物比 .NET Framework 更快地到达用户手中,因此一般权衡总是“.NET Standard => 更多地方;.NET Core => 更新事物”。