programing

경고 NETSDK1071 'Microsoft'에 대한 패키지 참조.AspNetCore.'앱'은 '2.1.6' 버전을 지정했습니다.

muds 2023. 10. 13. 22:35
반응형

경고 NETSDK1071 'Microsoft'에 대한 패키지 참조.AspNetCore.'앱'은 '2.1.6' 버전을 지정했습니다.

다음과 같은 경고가 있습니다.

 Severity   Code    Description Project File    Line    Suppression State
Warning NETSDK1071  A PackageReference to 'Microsoft.AspNetCore.App' specified a Version of `2.1.6`. Specifying the version of this package is not recommended. For more information, see https://aka.ms/sdkimplicitrefs    MyApi   C:\Program Files\dotnet\sdk\2.2.102\Sdks\Microsoft.NET.Sdk\targets\Microsoft.NET.Sdk.DefaultItems.targets   153 

프로젝트 파일을 편집한 후 nuget 패키지를 추가하여 참조를 제거하려고 했지만, 이 작업을 수행하자 많은 참조가 제대로 작동하지 않았습니다.

최근에 컴퓨터에 설치한 sdk\2.2를 언급하고 있는데 프로젝트 파일에 관련된 내용이 없습니다.

VS2017 15.9.5를 사용하고 있습니다.

여기에는 몇 가지 방법이 있습니다.

  • 포함할 경우PackageReference제거합니다.Version속성, 경고를 없애야 합니다.이것은 메타 패키지이기 때문인데, 메타 패키지는 당신의 프레임워크 버전을 기반으로 버전을 얻는 일종의 패키지입니다. https://learn.microsoft.com/en-us/dotnet/core/packages#metapackages

  • 경고를 비활성화하려면 다음을 추가합니다.AllowExplicitVersion:

<PackageReference Include="Microsoft.AspNetCore.App" Version="2.1.11" >
  <AllowExplicitVersion>true</AllowExplicitVersion> 
</PackageReference>

자세한 내용: https://github.com/dotnet/sdk/issues/2602

새로운 xUnit Test Project(.)를 만드는 비슷한 상황에 빠졌습니다.NET Core).기존 ASP에 대한 참조를 추가할 때.NET Core Web App 프로젝트, 다음과 같은 결과를 얻었습니다.

마이크로소프트.흔한.CurrentVersion.targets(2106,5): 경고 MSB3277: 서로 다른 버전 간충돌이 발견되었습니다.

  • 마이크로소프트.AspNetCore.허가
  • 마이크로소프트.AspNetCore.코르스
  • 마이크로소프트.AspNetCore.진단.추상화
  • 마이크로소프트.AspNetCore.Mvc
  • 마이크로소프트.AspNetCore.Mvc.추상
  • 마이크로소프트.AspNetCore.Mvc.코어
  • 마이크로소프트.AspNetCore.Mvc.포머터즈.제이슨
  • 마이크로소프트.AspNetCore.Mvc.레이저 페이지
  • 마이크로소프트.AspNetCore.Mvc.뷰 피쳐
  • 마이크로소프트.AspNetCore.면도기. 런타임
  • 마이크로소프트.AspNetCore.라우팅

마이크로소프트에 대한 언급을 찾지 못했는데 어떻게 충돌이 발생할 수 있는지 이해하지 못했습니다.AspNetCore.내 xUnit 프로젝트의 App NuGet 패키지.

저는 이 버전 충돌을 제거했습니다.Microsoft.AspNetCore.AppxUnit Test 프로젝트에 참여할 수 있습니다.

이 시점에서 명시적 버전 참조 경고(NETSDK1071)를 받기 시작했습니다.

NuGet Package Manager와 Visual Studio 내의 Package Manager Console은 모두 Microsoft에 버전 속성을 추가합니다.AspNetCore.패키지를 설치할 때 앱..csproj 파일을 편집하여 버전 속성을 제거할 수 있습니다.그러면 NETSDK1071 경고가 제거됩니다.

버전 특성을 제거하면 NuGet Package Manager가 [Uninstall] + [Update] 버튼을 비활성화하고 "- SDK에서 암시적으로 참조..."라고 표시합니다.

지금은 경고를 받지 않고 있습니다.

이 문제와 관련된 많은 수다와 약간의 tlad; 문서가 있습니다.FWIW, 여기 몇 가지 간단한 자료가 있습니다.

마이크로소프트.AspNetCore.ASP용 패키지를 적용합니다.NET Core 2.1 이상

@ngu레라는 상황을 아주 잘 요약했습니다.

웹 프로젝트에 대한 참조가 있는 모든 테스트 또는 웹이 아닌 모든 프로젝트에 적용됩니다.웹 참조가 에서 일시적으로 흐르지 않았다는 점에서 이것은 실제로 해결책이 아닙니다.NET Core 2.x.추가해야 하며 버전 없이 추가해야 SDK에서 정확한 버전을 선택할 수 있어 충돌을 피할 수 있습니다.

더 좋은 소식은 다음과 같습니다.NET Core 3.0, 웹 레퍼런스는 일시적으로 흐를 것이고 다른 단계 없이 테스트 프로젝트의 웹 프로젝트를 참조할 수 있습니다.그래서 마무리를 하겠습니다.2.x의 설계는 변경할 수 없지만, 우리는 3.0의 것들을 과도기적인 Framework Reference를 갖도록 특별히 설계했고, 이것은 그것에 대한 동기를 부여하는 시나리오였습니다.

그리고 여기 몇 개의 tldr; 대화가 있습니다.

마이크로소프트는 다루지 않습니다.AspNet.코어.모두#8691

Microsoft에 따라 테스트 프로젝트에서 버전 충돌이 발생합니다.AspNetCore.앱프로젝트#2253

에러 코드 MB2322와 비슷한 문제가 있었습니다.태그에서 버전을 제거하고 프로젝트의 src 폴더에 있는 my Packages.props 파일에 버전을 추가하여 이 문제를 해결했습니다.

프로젝트의 관점에서 여기에 번역하자면, 이미 가지고 있는 PackageReference 부분은 단순히 버전을 제거하는 것입니다.

<PackageReference Include="Microsoft.AspNetCore.App" />

Packages.props 파일에 다음을 추가합니다.

<PackageReference Update="Microsoft.AspNetCore.App" Version="[whichever version you are using here]"/>

Nopcommerce에 종사하는 개발자들을 위해.

Nopcommerce Project v(2.2)에 문제가 있었습니다.해결하려면 Nop 내부에서 편집해야 합니다.Core.csproj 파일입니다.

변경:

<PackageReference Include="Microsoft.AspNetCore.App" Version="2.2.5" />

다음과 함께:

<PackageReference Include="Microsoft.AspNetCore.App" Version="2.2.5">
      <AllowExplicitVersion>true</AllowExplicitVersion>
</PackageReference>

언급URL : https://stackoverflow.com/questions/54139375/warningnetsdk1071a-packagereference-to-microsoft-aspnetcore-app-specified-a

반응형