.NET Framework를 대상으로 할 때 사용되는 기본 RID
.NET 8에서는
그러나 이렇게 하면 .NET 및 .NET Framework를 다중 대상으로 지정하는 고객에게 문제가 발생했습니다. 복원이 한 번 발생하지만 .NET Framework 프로젝트에서 이전 RID 기본값을 사용하려고 시도하고 .NET(Core) 프로젝트가 축소된 새 RID 그래프를 사용하려고 하기 때문입니다.
이 다중 대상 지정 시나리오를 사용하도록 설정하기 위해 이제 이 시나리오에서 새 RID 그래프와 호환되는 기본 RID가 사용됩니다.
도입된 버전
.NET 9 GA
이전 동작
RID 집합이 없는 .NET Framework를 대상으로 하는 SDK 스타일 프로젝트는 기본적으로 win7-x86
또는 win7-x64
로 설정됩니다.
새 동작
RID가 설정되지 않은 .NET Framework를 대상으로 하는 SDK 스타일 프로젝트는 기본적으로 win-x86
또는 win-x64
입니다.
호환성이 손상되는 변경 유형
이 변경 내용은 원본 호환성영향을 줄 수 있습니다.
변경 이유
.NET Framework 애플리케이션은 이식 가능한 RID 그래프와 호환되지 않는 기본 RID를 받고 있었습니다. 이러한 비호환성으로 인해 복원 오류가 발생했습니다.
Sdks\Microsoft.NET.Sdk\targets\Microsoft.PackageDependencyResolution.targets(266,5): 오류 NETSDK1047: Assets 파일 'D:\1\s\artifacts\obj\MSBuild\project.assets.json'에 'net472/win7-x64'에 대한 대상이 없습니다. 복원이 실행되었고 프로젝트의 TargetFrameworks에 'net472'를 포함했는지 확인합니다. 프로젝트의 RuntimeIdentifiers에 'win7-x64'를 포함해야 할 수도 있습니다. [MSBuild.csproj::TargetFramework=net472]>
자세한 내용은 dotnet/sdk 문제 #35575참조하세요.
권장 작업
이 변경의 영향을 받는 경우 다음 작업 중 하나를 선택합니다.
런타임 식별자를 이식 가능한 RID 그래프에서 지원하는 값으로 업데이트합니다. 프로젝트 파일 예제:
<PropertyGroup> <RuntimeIdentifier>win-x64</RuntimeIdentifier> </PropertyGroup>
RID를 명령줄 인수로 지정하는 경우 비슷한 변경을 합니다. 예를 들어
dotnet publish --runtime win-x64
.프로젝트 파일에서
UseRidGraph
을(를)true
로 설정하여 이전 RID 그래프로 다시 전환합니다.<PropertyGroup> <UseRidGraph>true</UseRidGraph> </PropertyGroup>
영향을 받는 API
없음.
.NET