Элемент FrameworkReference заменен на WindowsSdkPackageVersion для Windows SDK

Начиная с .NET 5.0.8 (который включает пакет SDK для .NET 5.0.302 и пакет SDK для .NET 5.0.205), разработчики, нацеленные на Windows, не могут использовать элемент FrameworkReference для переопределения своей версии пакета нацеливания для Windows SDK. Свойство WindowsSdkPackageVersion заменяет эту возможность.

Примечание.

Не рекомендуется переопределять версию Windows SDK, так как пакеты нацеливания для Windows SDK включены в пакет SDK для .NET 5+. Вместо этого для ссылки на последний пакет Windows SDK обновите версию пакета SDK для .NET.

Представленные версии

SDK для .NET 5.0.302, SDK для .NET 5.0.205

Прежнее поведение

Разработчики могут использовать этот элемент FrameworkReference для переопределения версии пакета Windows SDK в приложениях .NET 5. Например:

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

Новое поведение

Свойство WindowsSdkPackageVersion заменяет поведение переопределения FrameworkReference. Например:

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

Категория изменений

Это изменение может повлиять на совместимость исходного кода.

Причина изменения

Это изменение было введено, чтобы упростить поведение переопределения пакетов для нацеливания на пакеты Windows SDK, созданных в C#/WinRT.

При выборе Windows SDK исключите любое использование FrameworkReference в файле проекта приложения .NET 5+.

Затронутые API

API Windows в .NET 5 и более поздних версиях, предоставляемые пакетом нацеливания Windows SDK.