Hinweis
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, sich anzumelden oder das Verzeichnis zu wechseln.
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, das Verzeichnis zu wechseln.
Ab .NET 5.0.8 (einschließlich .NET SDK 5.0.302 und .NET SDK 5.0.205) können Entwickler, die auf Windows abzielen, das FrameworkReference
Element nicht 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ührte 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 außer Kraft zu setzen. 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 kann sich auf die Quellkompatibilität auswirken.
Grund für Änderung
Diese Änderung wurde eingeführt, um das Überschreibungsverhalten von Paketen für Windows SDK-Pakete zu vereinfachen, die von C#/WinRT erstellt wurden.
Empfohlene Aktion
Entfernen Sie jede Verwendung von FrameworkReference
in der Projektdatei Ihrer .NET 5+-App, wenn Sie das Windows SDK anvisieren.
Wenn Sie mit dem Windows App SDK arbeiten, müssen Sie die WindowsSdkPackageVersion
Eigenschaft möglicherweise explizit hinzufügen, wenn die erforderliche Windows SDK-Paketversion nicht durch .NET SDK aufgelöst werden kann. Dieses Problem kann aufgrund verschiedener Releasemechanismen für das Windows App SDK und .NET SDK auftreten, bei dem das .NET SDK über Visual Studio ausgeliefert wird. Details finden Sie in diesem GitHub Issue. Sie können auch erwägen, die WindowsSdkPackageVersion
Eigenschaft zu entfernen, nachdem die erforderliche Windows SDK-Paketversion durch .NET SDK aufgelöst wurde, um sicherzustellen, dass Sie über das neueste Windows SDK-Paket verfügen. Dies geschieht in der Regel, nachdem Visual Studio eine neue Version veröffentlicht hat und Sie auf diese Version aktualisiert haben.
Betroffene APIs
Windows-APIs in .NET 5 und höheren Versionen, die vom Windows SDK-Zielpaket bereitgestellt werden.