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