FrameworkReference wurde durch WindowsSdkPackageVersion für Windows SDK ersetzt

Ab .NET 5.0.8 (einschließlich .NET SDK 5.0.302 und .NET SDK 5.0.205) können Windows-Entwickler das FrameworkReference-Element nicht mehr verwenden, um ihre Version des Windows SDK-Zielpakets außer Kraft zu setzen. Die WindowsSdkPackageVersion-Eigenschaft ersetzt diese Funktionalität.

Hinweis

Sie sollten die Windows SDK-Version nicht überschreiben, da die Windows SDK-Zielpakete im .NET 5+ SDK enthalten sind. Aktualisieren Sie stattdessen Ihre Version des .NET SDK, um auf das aktuelle Windows SDK-Paket zu verweisen.

Eingeführt in Version

.NET SDK 5.0.302, .NET SDK 5.0.205

Vorheriges Verhalten

Entwickler können das FrameworkReference-Element verwenden, um die Windows SDK-Paketversion in .NET 5-Anwendungen zu überschreiben. Beispiel:

<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>

Neues Verhalten

Die WindowsSdkPackageVersion-Eigenschaft ersetzt das Verhalten der FrameworkReference-Überschreibung. Beispiel:

<PropertyGroup>
  <WindowsSdkPackageVersion>10.0.19041.18</WindowsSdkPackageVersion>
</PropertyGroup>

Kategorie der Änderung

Diese Änderung könnte sich auf die Quellkompatibilität auswirken.

Grund für die Änderung

Diese Änderung wurde eingeführt, um das Überschreibungsverhalten von Paketen für Windows SDK-Pakete zu vereinfachen, die von C#/WinRT erstellt wurden.

Entfernen Sie alle Verwendungen von FrameworkReference in der Projektdatei Ihrer .NET 5+-App, wenn Sie auf das Windows SDK abzielen.

Betroffene APIs

Windows APIs in .NET 5 und neuere Versionen, die vom Windows SDK-Zielpaket bereitgestellt werden.