.NET Standard 和 .NET Core 3.x 或 ASP.NET Core 3.x
.NET Standard and .NET Core 3.x or ASP.NET Core 3.x
我对 .NET Standard 以及最近发布的 .NET Core 3.0 和 ASP.NET Core 3.1
有几个问题
.NET Standard 的先前版本与正在发布的 .NET Core 具有相同的主要版本,但对于 .NET Core 3.1,兼容的是 .NET Standard 2.1。
- .NET Standard 是否正在逐渐过时,或者这只是一个与 .NET Core 版本无关的版本号?
- 我们可以假设 .NET Standard 2.1 也与 ASP.NET Core 3.1 兼容吗?
- 如果我们将现有的网络应用程序和 MVC 网络 API 迁移到 asp.net 核心 3.1,那么网络应用程序使用的现有 .net 标准 class 库会怎样?
我们是否更改旧 .NET 标准 class 库的目标框架:
<TargetFramework>netstandard2.0</TargetFramework>
到
<TargetFramework>netstandard2.1</TargetFramework>
或更改为
<TargetFramework>netcoreapp3.0</TargetFramework>
并添加一个 FrameworkReference 到 Microsoft.AspNetCore.App
- .NET Standard 的版本号与.NET Core 不同步,之前的任何匹配都是巧合。 .NET Standard 的发布节奏较慢,但与 .NET Core 相比包含更多 APIs,因此从这个意义上讲它不会过时。
旁白 - 当 .NET 5 出现并统一平台时,.NET Standard 的相关性将降低,现在多目标工作得很好,它在来年仍然相关,并且与处理 API 旧框架的表面。
ASP.NET Core 3.0 与 .NET Standard 2.1 兼容,因此 ASP.NET Core 3.1 也将兼容。 (你使用的阶段表明你有倒退的关系)
您可以继续从支持它和更高版本的框架中引用 .NET Standard 2.0 库,因此您仍然可以在 ASP.NET Core 3.1 可用时使用它。
最后一个问题,视情况而定:)
如果您处理的是非 Web 库,那么 netstandard2.1
将是合适的(虽然不是强制性的,您可以将其保留为 2.0)。
如果您有一个 ASP.NET 核心项目或相关的网络库项目,那么您可能想转到 netcoreapp3.0
。
为了澄清我的最后一点,你找不到比 Andrew Lock 在这里更好的解释了:https://andrewlock.net/converting-a-netstandard-2-library-to-netcore-3/
官方升级指导can be found here
我对 .NET Standard 以及最近发布的 .NET Core 3.0 和 ASP.NET Core 3.1
有几个问题.NET Standard 的先前版本与正在发布的 .NET Core 具有相同的主要版本,但对于 .NET Core 3.1,兼容的是 .NET Standard 2.1。
- .NET Standard 是否正在逐渐过时,或者这只是一个与 .NET Core 版本无关的版本号?
- 我们可以假设 .NET Standard 2.1 也与 ASP.NET Core 3.1 兼容吗?
- 如果我们将现有的网络应用程序和 MVC 网络 API 迁移到 asp.net 核心 3.1,那么网络应用程序使用的现有 .net 标准 class 库会怎样?
我们是否更改旧 .NET 标准 class 库的目标框架:
<TargetFramework>netstandard2.0</TargetFramework>
到
<TargetFramework>netstandard2.1</TargetFramework>
或更改为
<TargetFramework>netcoreapp3.0</TargetFramework>
并添加一个 FrameworkReference 到 Microsoft.AspNetCore.App
- .NET Standard 的版本号与.NET Core 不同步,之前的任何匹配都是巧合。 .NET Standard 的发布节奏较慢,但与 .NET Core 相比包含更多 APIs,因此从这个意义上讲它不会过时。
旁白 - 当 .NET 5 出现并统一平台时,.NET Standard 的相关性将降低,现在多目标工作得很好,它在来年仍然相关,并且与处理 API 旧框架的表面。
ASP.NET Core 3.0 与 .NET Standard 2.1 兼容,因此 ASP.NET Core 3.1 也将兼容。 (你使用的阶段表明你有倒退的关系)
您可以继续从支持它和更高版本的框架中引用 .NET Standard 2.0 库,因此您仍然可以在 ASP.NET Core 3.1 可用时使用它。
最后一个问题,视情况而定:)
如果您处理的是非 Web 库,那么 netstandard2.1
将是合适的(虽然不是强制性的,您可以将其保留为 2.0)。
如果您有一个 ASP.NET 核心项目或相关的网络库项目,那么您可能想转到 netcoreapp3.0
。
为了澄清我的最后一点,你找不到比 Andrew Lock 在这里更好的解释了:https://andrewlock.net/converting-a-netstandard-2-library-to-netcore-3/
官方升级指导can be found here