FrameworkReference가 Windows SDK용 WindowsSdkPackageVersion으로 대체됨
.NET 5.0.8(.NET SDK 5.0.302 및 .NET SDK 5.0.205 포함)부터 Windows를 대상으로 하는 개발자는 FrameworkReference
항목을 사용하여 Windows SDK 대상 패키지의 버전을 재정의할 수 없습니다.
WindowsSdkPackageVersion
속성은 이 기능을 대체합니다.
메모
Windows SDK 대상 패키지가 .NET 5+ SDK에 포함되어 있으므로 Windows SDK 버전을 재정의하지 않는 것이 좋습니다. 대신 최신 Windows SDK 패키지를 참조하려면 .NET SDK 버전을 업데이트합니다.
도입된 버전
.NET SDK 5.0.302, .NET SDK 5.0.205
이전 동작
개발자는 FrameworkReference
항목을 사용하여 .NET 5 애플리케이션에서 Windows SDK 패키지 버전을 재정의할 수 있습니다. 예를 들어:
<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>
변경 범주
이 변경 내용은 원본 호환성영향을 줄 수 있습니다.
변경 이유
이 변경 내용은 C#/WinRT에서 생성된 Windows SDK 패키지를 대상으로 하는 패키지 재정의 동작을 간소화하기 위해 도입되었습니다.
권장 작업
Windows SDK를 대상으로 지정할 때 .NET 5+ 앱의 프로젝트 파일에서 FrameworkReference
모든 사용을 제거합니다.
Windows 앱 SDK사용할 때 필요한 Windows SDK 패키지 버전을 .NET SDK에서 확인할 수 없는 경우 WindowsSdkPackageVersion
속성을 명시적으로 추가해야 할 수 있습니다. 이 문제는 .NET SDK가 Visual Studio를 통해 제공되는 Windows 앱 SDK 및 .NET SDK에 대한 다양한 릴리스 메커니즘으로 인해 발생할 수 있습니다. 이 GitHub 문제세부 정보를 참조하세요. 또한 필요한 Windows SDK 패키지 버전이 .NET SDK에서 확인되면 WindowsSdkPackageVersion
속성을 제거하여 최신 Windows SDK 패키지가 있는지 확인하는 것이 좋습니다. 이는 일반적으로 Visual Studio에서 새 버전을 릴리스하고 해당 버전으로 업그레이드한 후에 발생합니다.
영향을 받는 API
.NET 5 이상 버전의 Windows API는 Windows SDK 대상 패키지에서 제공합니다.
.NET