FrameworkReference substituído por WindowsSdkPackageVersion para Windows SDK
A partir do .NET 5.0.8 (que inclui o .NET SDK 5.0.302 e o .NET SDK 5.0.205), os desenvolvedores que visam o Windows não podem usar o item FrameworkReference
para alterar a versão do pacote de destino do Windows SDK. A propriedade WindowsSdkPackageVersion
substitui essa funcionalidade.
Observação
Não recomendamos substituir a versão do SDK do Windows, porque os pacotes de direcionamento do SDK do Windows estão incluídos no SDK do .NET 5+. Em vez disso, para fazer referência ao pacote mais recente do SDK do Windows, atualize sua versão do SDK do .NET.
Versão introduzida
SDK do .NET 5.0.302, SDK do .NET 5.0.205
Comportamento anterior
Os desenvolvedores podem usar o item FrameworkReference
para substituir a versão do pacote SDK do Windows em aplicativos .NET 5. Por exemplo:
<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>
Novo comportamento
A propriedade WindowsSdkPackageVersion
substitui o comportamento da substituição de FrameworkReference
. Por exemplo:
<PropertyGroup>
<WindowsSdkPackageVersion>10.0.19041.18</WindowsSdkPackageVersion>
</PropertyGroup>
Categoria de alteração
Essa alteração pode afetar compatibilidade da fonte.
Motivo da mudança
Essa alteração foi introduzida para simplificar o comportamento de substituição de pacote para direcionar os pacotes SDK do Windows produzidos pelo C#/WinRT.
Ação recomendada
Remova qualquer uso de FrameworkReference
no ficheiro de projeto do seu aplicativo .NET 5 ou superior ao direcionar-se para o SDK do Windows.
Ao trabalhar com o SDK de Aplicativos Windows, talvez seja necessário adicionar explicitamente a propriedade WindowsSdkPackageVersion
se a versão necessária do pacote SDK do Windows não puder ser resolvida pelo SDK do .NET. Esse problema pode surgir devido a diferentes mecanismos de lançamento para o SDK de aplicativo do Windows e SDK do .NET, onde o SDK do .NET é enviado através do Visual Studio. Veja os detalhes nesta questão do GitHub . Você também pode considerar remover a propriedade WindowsSdkPackageVersion
assim que a versão necessária do pacote SDK do Windows tiver sido resolvida pelo SDK do .NET, garantindo que você tenha o pacote SDK do Windows mais recente. Isso normalmente acontece depois que o Visual Studio lança uma nova versão e você atualiza para essa versão.
APIs afetadas
APIs do Windows fornecidas pelo pacote de destino SDK do Windowsno .NET 5 e em versões posteriores.