FrameworkReference 替换为适用于 Windows SDK 的 WindowsSdkPackageVersion
从 .NET 5.0.8(包括 .NET SDK 5.0.302 和 .NET SDK 5.0.205)开始,面向 Windows 的开发人员不能使用 FrameworkReference
项来替代其 Windows SDK 面向包的版本。 WindowsSdkPackageVersion
属性取代了此功能。
注意
不建议替代 Windows SDK 版本,因为 .NET 5+SDK 中包含 Windows SDK 目标包。 若要引用最新的 Windows SDK 包,请更新 .NET SDK 的版本。
引入的版本
.NET SDK 5.0.302、.NET SDK 5.0.205
旧行为
开发人员可以使用 FrameworkReference
项替代 .NET 5 应用程序中的 Windows SDK 包版本。 例如:
<ItemGroup>
<FrameworkReference Update="Microsoft.Windows.SDK.NET.Ref" RuntimeFrameworkVersion="10.0.19041.18" />
<FrameworkReference Update="Microsoft.Windows.SDK.NET.Ref" TargetingPackVersion="10.0.19041.18" />
</ItemGroup>
新行为
WindowsSdkPackageVersion
属性取代了 FrameworkReference
替代的行为。 例如:
<PropertyGroup>
<WindowsSdkPackageVersion>10.0.19041.18</WindowsSdkPackageVersion>
</PropertyGroup>
更改类别
此更改可能会影响源兼容性。
更改原因
引入此更改是为了简化面向 C#/WinRT 生成的 Windows SDK 包的包替代行为。
建议的操作
面向 Windows SDK 时,请删除 .NET 5+ 应用项目文件中对 FrameworkReference
的任何使用。
受影响的 API
Windows SDK 目标包提供的 .NET 5 和更高版本中的 Windows API。