Udostępnij za pośrednictwem


Element FrameworkReference zastąpiony elementem WindowsSdkPackageVersion dla zestawu Windows SDK

Począwszy od platformy .NET 5.0.8 (w tym .NET SDK 5.0.302 i .NET SDK 5.0.205), deweloperzy tworzący aplikacje na Windows nie mogą użyć elementu FrameworkReference, aby zastąpić swoją wersję pakietu docelowego Windows SDK. Właściwość WindowsSdkPackageVersion zastępuje tę funkcję.

Notatka

Nie zalecamy zastępowania wersji zestawu Windows SDK, ponieważ pakiety przeznaczone dla zestawu SDK systemu Windows są dołączone do zestawu .NET 5+ SDK. Zamiast tego, aby odwołać się do najnowszego pakietu zestawu Windows SDK, zaktualizuj swoją wersję zestawu .NET SDK.

Wprowadzona wersja

.NET SDK 5.0.302, .NET SDK 5.0.205

Poprzednie zachowanie

Deweloperzy mogą użyć elementu FrameworkReference, aby zastąpić wersję pakietu windows SDK w aplikacjach platformy .NET 5. Na przykład:

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

Nowe zachowanie

Właściwość WindowsSdkPackageVersion zastępuje zachowanie zastąpienia FrameworkReference. Na przykład:

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

Kategoria zmiany

Ta zmiana może mieć wpływ na zgodność ze źródłem .

Przyczyna zmiany

Ta zmiana została wprowadzona w celu uproszczenia zachowania zastępowania pakietu dla pakietów zestawu Windows SDK utworzonych przez język C#/WinRT.

Usuń dowolne użycie FrameworkReference w pliku projektu aplikacji .NET 5+ przy celowaniu w pakiet Windows SDK.

Podczas pracy z Windows App SDK , może być konieczne jawne dodanie właściwości WindowsSdkPackageVersion, jeśli nie można rozpoznać wymaganej wersji pakietu Windows SDK przez zestaw .NET SDK. Ten problem może wystąpić z powodu różnych mechanizmów wydania dla zestawu SDK aplikacji systemu Windows i zestawu .NET SDK, gdzie zestaw .NET SDK jest dostarczany za pośrednictwem programu Visual Studio. Zobacz szczegóły w tym zgłoszeniu GitHub . Możesz również rozważyć usunięcie właściwości WindowsSdkPackageVersion, gdy wymagana wersja pakietu Windows SDK zostanie rozwiązana przez pakiet .NET SDK, aby upewnić się, że masz najnowszy pakiet Windows SDK. Dzieje się tak zwykle po udostępnieniu nowej wersji programu Visual Studio i uaktualnieniu do tej wersji.

Interfejsy API, których dotyczy problem

Interfejsy API systemu Windows na platformie .NET 5 i nowszych wersjach, które są dostarczane przez zestaw SDK systemu Windows przeznaczony dla pakietu.