programing

NuGet: 'X'에 'Y'에 대해 이미 정의된 종속성이 있습니다.

telecom 2023. 5. 10. 20:15
반응형

NuGet: 'X'에 'Y'에 대해 이미 정의된 종속성이 있습니다.

중에 NuGet에서 다음 오류가 발생합니다.Microsoft.AspNet.Server.IIS

Attempting to resolve dependency 'Microsoft.AspNet.Loader.IIS.Interop (≥ 1.0.0-alpha4-10330)'.
Attempting to resolve dependency 'Microsoft.AspNet.Loader.IIS (≥ 1.0.0-alpha4-10330)'.
'Microsoft.AspNet.Loader.IIS' already has a dependency defined for 'Microsoft.AspNet.FeatureModel'.

어떻게 해결합니까?

업데이트: 또한 다음과 같은 정보를 얻을 수 있습니다.

Attempting to resolve dependency 'Microsoft.Framework.DependencyInjection (≥ 1.0.0-alpha4-10326)'.
'Microsoft.Framework.DependencyInjection' already has a dependency defined for 'Microsoft.Framework.ConfigurationModel'.

이 문제는 최신 NuGet Package Manager를 설치하여 해결되었습니다.

https://visualstudiogallery.msdn.microsoft.com/4ec1526c-4a8c-4a84-b702-b21a8f5293ca

Visual Studio를 다시 시작하는 것을 잊지 마십시오.

다음과 같은 방법으로 솔루션에서 유사한 문제를 해결했습니다.

  1. 명령 프롬프트 열기
  2. 내 솔루션의 .nuget 폴더로 이동하는 중
  3. 중입니다.nuget update -self

의 복사본이 업그레이드되었습니다.NuGet.exe그것은 나의 해결책에 있었습니다.2.8.03.4.4하던 '대해 있습니다 'X'는 SSH에서 'Y'로 정의되었습니다.빌드하기 전에 자동으로 NET.

)NuGet.exe- 그리고 수도 - 대신해야 합니다).

저는 업데이트를 시도했지만, 그것은 저에게 효과가 없었습니다.도움말:

  1. NuGet 제거 => 도구 => 확장 및 업데이트 => 설치됨
  2. NuGet 설치
  3. Visual Studio 다시 로드

Visual Studio 2010의 오래된 버전에서 이 오류가 발생했습니다.프로젝트 구성으로 인해 이 버전을 최신 버전으로 업데이트할 수 없습니다.따라서 위의 NuGet 업데이트는 저에게 문제를 해결하지 못했습니다.

이와 유사한 상황에서 오류가 발생하는 근본 원인은 설치하려는 패키지의 종속성으로 인해 와 호환되지 않기 때문입니다.프로젝트에서 사용할 수 있는 NET 버전입니다.

범용 솔루션은 Visual Studio 또는의 필수 업데이트가 아닙니다.NET이지만 시스템과 호환되는 동일한 패키지의 이전 NuGet 버전을 설치하는 경우.

이전 버전 중 어떤 것이 작동할지 확실히 알 수 없습니다.저의 경우, 이 명령어는 NuGet 업데이트 없이 패키지를 설치했습니다.

Install-Package X -Version [compatible version number]

TeamCity 빌드 서버에서 이 문제가 발생했습니다.빌드 서버에서 (TC를 통해) NuGet을 업데이트하려고 했지만 작동하지 않았습니다.의 "업데이트 를 솔루션 파일에서 Nuget Installer로 변경하여 했습니다.packages.config.

를 받고 요 ㅠㅠㅠㅠㅠㅠㅠㅠㅠ'Newtonsoft.Json' already has a dependency defined for 'Microsoft.CSharp'TeamCity 빌드 서버에 있습니다.Nuget Installer 빌드 단계의 "업데이트 모드"를 솔루션 파일에서 packages.configNuGet.exe로 최신 버전(3.5.0 사용)으로 변경했더니 작동했습니다!!

  1. https://www.nuget.org/packages/ClosedXML/0.64.0 링크로 이동합니다.
  2. NuGet 패키지 검색
  3. 관련 패키지의 모든 버전 보기
  4. 패키지의 하위 버전 설치

저의 경우 Project 폴더/.nuget에서 NuGet.exe 파일을 삭제하고 프로젝트를 다시 빌드해야 했습니다.

또한 NuGet.targets에는 True로 표시된 DownloadNuGetExe가 있습니다.

<DownloadNuGetExe Condition=" '$(DownloadNuGetExe)' == '' ">true</DownloadNuGetExe>

도움이 되길 바랍니다.

Visual Studio 2013에서 너트를 완전히 제거한 후 VS를 다시 시작하는 것이 유일한 솔루션이었습니다.

  1. 도구로 이동합니다.
  2. 확장 및 업데이트.
  3. Nuget 및 기타 중요한 기능을 업데이트합니다.
  4. 다시 시작.

다 했어요.

2010과 비교한 프로젝트에서는 패키지 관리자 콘솔을 통해 필요한 이전 버전의 패키지를 설치해야만 문제를 해결할 수 있었습니다.

이 명령은 작동했습니다.

PM> Install-Package EPPlus -Version 4.5.3.1

이 명령이 작동하지 않았습니다.

PM> Install-Package EPPlus -Version 4.5.3.2

언급URL : https://stackoverflow.com/questions/25725545/nuget-x-already-has-a-dependency-defined-for-y

반응형