Ame*_*eya 8 c# asp.net-core-mvc asp.net-core asp.net-core-3.0 .net-standard-2.1
我对 .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 类库的目标框架从:
<TargetFramework>netstandard2.0</TargetFramework>
Run Code Online (Sandbox Code Playgroud)
到
<TargetFramework>netstandard2.1</TargetFramework>
Run Code Online (Sandbox Code Playgroud)
或更改为
<TargetFramework>netcoreapp3.0</TargetFramework>
Run Code Online (Sandbox Code Playgroud)
并向 Microsoft.AspNetCore.App 添加 FrameworkReference
Stu*_*art 10
抛开 - 当 .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 中使用它。
对于您的最后一个问题,这取决于:)
如果您正在处理非网络库,那么netstandard2.1将是合适的(虽然不是强制性的,您可以将其保留为 2.0)。
如果您有一个 ASP.NET Core 项目或相关的 Web 库项目,那么您可能希望迁移到netcoreapp3.0.
为了澄清我的最后一点,你找不到比 Andrew Lock 更好的解释了:https : //andrewlock.net/converting-a-netstandard-2-library-to-netcore-3/
可以在此处找到有关升级的官方指南