이 문서는 .NET 5.0.100 SDK 이상 버전에 적용됩니다 ✔️.
.NET SDK에서 경고 NETSDK1071 발생하는 경우 PackageReference에 지정된 메타패키지 버전과 TargetFramework 속성을 통해 암시적으로 참조되는 메타패키지 버전 간에 향후 버전 충돌이 있을 수 있음을 시사합니다.
<PropertyGroup>
<TargetFramework>net6.0</TargetFramework>
</PropertyGroup>
TargetFramework 메타패키지 버전이 자동으로 제공되므로 버전이 다를 경우 충돌합니다.
해결 방법:
.NET Core 또는 .NET Standard를 대상으로 하는 경우 프로젝트 파일 또는
NETStandard.Library프로젝트 파일에 대한 명시적 참조를Microsoft.NETCore.App방지하는 것이 좋습니다..NET Core를 대상으로 할 때 특정 버전의 런타임이 필요한 경우 메타패키지를 직접 참조하는 대신 속성을 사용합니다
<RuntimeFrameworkVersion>. 예를 들어 자체 포함 배포 를 사용하고 1.0.0 LTS 런타임의 특정 패치가 필요한 경우 이 오류가 발생할 수 있습니다..NET Standard를 대상으로 지정할 때 특정 버전
NetStandard.Library이 필요한 경우 속성을 사용하여<NetStandardImplicitPackageVersion>필요한 버전으로 설정할 수 있습니다..NET Framework 프로젝트 또는
Microsoft.NETCore.App.NET Framework 프로젝트에 참조를 명시적으로 추가하거나NETSTandard.Library업데이트하지 마세요. NuGet은 .NET Standard 기반 NuGet 패키지를 사용할 때 필요한 모든 버전을NETStandard.Library자동으로 설치합니다..NET SDK가 자동으로 적절한 버전을
Microsoft.AspNetCore.App선택하므로 .NET Core 2.1 이상 버전을 사용하거나Microsoft.AspNetCore.All사용하는 경우 버전을 지정하지 마세요. (참고: 프로젝트에서도 .NET Core 2.1을 대상으로 하는 경우에만 작동합니다Microsoft.NET.Sdk.Web. 이 문제는 .NET Core 2.2 SDK에서 해결되었습니다.)경고가 사라지도록 하려면 다음을 사용하지 않도록 설정할 수도 있습니다.
<PackageReference Include="Microsoft.NetCore.App" Version="2.2.8" > <AllowExplicitVersion>true</AllowExplicitVersion> </PackageReference>
.NET