다음을 통해 공유


NETSDK1071: 프레임워크에 포함될 메타패키지에 대한 PackageReference를 명시적으로 버전 관리합니다.

이 문서는 .NET 5.0.100 SDK 이상 버전에 적용됩니다 ✔️.

.NET SDK에서 경고 NETSDK1071 발생하는 경우 PackageReference에 지정된 메타패키지 버전과 TargetFramework 속성을 통해 암시적으로 참조되는 메타패키지 버전 간에 향후 버전 충돌이 있을 수 있음을 시사합니다.

<PropertyGroup>
  <TargetFramework>net6.0</TargetFramework>
</PropertyGroup>

TargetFramework 메타패키지 버전이 자동으로 제공되므로 버전이 다를 경우 충돌합니다.

해결 방법:

  1. .NET Core 또는 .NET Standard를 대상으로 하는 경우 프로젝트 파일 또는 NETStandard.Library 프로젝트 파일에 대한 명시적 참조를 Microsoft.NETCore.App 방지하는 것이 좋습니다.

  2. .NET Core를 대상으로 할 때 특정 버전의 런타임이 필요한 경우 메타패키지를 직접 참조하는 대신 속성을 사용합니다 <RuntimeFrameworkVersion>. 예를 들어 자체 포함 배포 를 사용하고 1.0.0 LTS 런타임의 특정 패치가 필요한 경우 이 오류가 발생할 수 있습니다.

  3. .NET Standard를 대상으로 지정할 때 특정 버전 NetStandard.Library 이 필요한 경우 속성을 사용하여 <NetStandardImplicitPackageVersion> 필요한 버전으로 설정할 수 있습니다.

  4. .NET Framework 프로젝트 또는 Microsoft.NETCore.App .NET Framework 프로젝트에 참조를 명시적으로 추가하거나 NETSTandard.Library 업데이트하지 마세요. NuGet은 .NET Standard 기반 NuGet 패키지를 사용할 때 필요한 모든 버전을 NETStandard.Library 자동으로 설치합니다.

  5. .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에서 해결되었습니다.)

  6. 경고가 사라지도록 하려면 다음을 사용하지 않도록 설정할 수도 있습니다.

    <PackageReference Include="Microsoft.NetCore.App" Version="2.2.8" >
      <AllowExplicitVersion>true</AllowExplicitVersion>
    </PackageReference>