现在,当使用 .NET 9+ SDK 生成面向 netstandard1.x
的项目时发出警告。
以前的行为
以前,可以生成面向 .NET Standard 1.0 - .NET Standard 1.6 的项目,而无需任何生成警告。
新行为
从 .NET 9 开始,如果生成面向 .NET Standard 1.0 - .NET Standard 1.6 的项目,则会发出以下警告:
警告 NETSDK1215:不再推荐面向 2.0 之前的 .NET Standard。 有关详细信息,请参阅 https://aka.ms/dotnet/dotnet-standard-guidance。
已引入的版本
.NET 9 预览版 6
破坏性变更的类型
此更改可能会影响 源兼容性。
更改原因
引入了生成警告,以鼓励客户面向 .NET Standard 2.0 或 .NET 6+。 如果面向 .NET Standard 1.x,则会将自己限制为一个有超过 10 年历史的 .NET Framework 4.5 的子集。 自那以后,就发生了很多创新,你错过了。 此外,.NET Standard 1.x 作为一组精细的 NuGet 包进行分发,这将创建大型包依赖项关系图,并在生成项目时下载大量包。
有关详细信息,请参阅针对 .NET Standard 1.x 的缺点介绍。
建议的措施
将 TargetFramework
属性更新为 netstandard2.0
或 netstandard2.1
.
如果必须保留较旧的 .NET Standard 版本,则可以在项目文件(例如 <CheckNotRecommendedTargetFramework>
文件)或 false
文件中设置为跳过目标框架版本检查:
<PropertyGroup>
...
<CheckNotRecommendedTargetFramework>false</CheckNotRecommendedTargetFramework>
</PropertyGroup>
或者,可以使用项目文件中的属性取消警告 <NoWarn>
:
<PropertyGroup>
...
<!-- Disable "Targeting .NET Standard prior to 2.0 is no longer recommended." warning -->
<NoWarn>$(NoWarn);NETSDK1215</NoWarn>
</PropertyGroup>
受影响的 API
无