Il FrameworkReference è stato sostituito con il WindowsSdkPackageVersion per Windows SDK.
A partire da .NET 5.0.8 (che include .NET SDK 5.0.302 e .NET SDK 5.0.205), gli sviluppatori destinati a Windows non possono usare l'elemento FrameworkReference
per eseguire l'override della versione del pacchetto di destinazione di Windows SDK. La proprietà WindowsSdkPackageVersion
sostituisce questa funzionalità.
Nota
Non è consigliabile eseguire l'override della versione di Windows SDK, perché i pacchetti di destinazione di Windows SDK sono inclusi in .NET 5+ SDK. Al contrario, per fare riferimento al pacchetto Windows SDK più recente, aggiorna la tua versione di .NET SDK.
Versione introdotta
.NET SDK 5.0.302, .NET SDK 5.0.205
Comportamento precedente
Gli sviluppatori possono usare l'elemento FrameworkReference
per eseguire l'override della versione del pacchetto di Windows SDK nelle applicazioni .NET 5. Per esempio:
<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>
Nuovo comportamento
La proprietà WindowsSdkPackageVersion
sostituisce il comportamento dell'override del FrameworkReference
. Per esempio:
<PropertyGroup>
<WindowsSdkPackageVersion>10.0.19041.18</WindowsSdkPackageVersion>
</PropertyGroup>
Categoria di modifica
Questa modifica potrebbe influire sulla compatibilità del codice sorgente .
Motivo della modifica
Questa modifica è stata introdotta per semplificare il comportamento di override dei pacchetti destinati ai pacchetti Windows SDK prodotti da C#/WinRT.
Azione consigliata
Rimuovere qualsiasi uso di FrameworkReference
nel file di progetto dell'app .NET 5+ quando è destinato a Windows SDK.
Quando si usa Windows App SDK, potrebbe essere necessario aggiungere in modo esplicito la proprietà WindowsSdkPackageVersion
se non è possibile risolvere la versione richiesta del pacchetto Windows SDK dal .NET SDK. Questo problema può verificarsi a causa di meccanismi di rilascio diversi per Windows App SDK e .NET SDK, in cui .NET SDK viene fornito tramite Visual Studio. Vedere i dettagli in questo issue di GitHub. È anche possibile rimuovere la proprietà WindowsSdkPackageVersion
dopo aver risolto la versione del pacchetto di Windows SDK richiesta da .NET SDK, assicurandosi di avere il pacchetto windows SDK più recente. Questo problema si verifica in genere dopo che Visual Studio rilascia una nuova versione ed è stato eseguito l'aggiornamento a tale versione.
API interessate
Le Windows API in .NET 5 e versioni successive fornite dal pacchetto di destinazione del Windows SDK .