NuGet : 'X'에는 이미 'Y'에 대한 종속성이 정의되어 있습니다.


94

패키지를 설치하는 동안 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을 최신으로 업데이트 해 보셨습니까? stackoverflow.com/questions/23286522/…
jrummell 2014 년

2
@jrummell 나는 : 2.8.50313.46, 현재 VS 2013에 업데이트가 없습니다.
TN.

답변:


151

이 문제는 최신 NuGet 패키지 관리자를 설치하여 해결되었습니다.

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

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


5
최신 Nuget "NuGet Package Manager 2.8.60318.667"이 있지만 "Install-Package : 'System.Collections'에 이미 'Microsoft.NETCore.Platforms'에 대한 종속성이 정의되어 있습니다."라는 메시지가 표시됩니다. "Install-Package Microsoft.AspNet.WebHooks.Custom.AzureStorage -Pre"를 설치하려고 할 때
Gopi

2
나는 @TechJerk와 같은 문제가 있는데, 내 상황에서는 프로젝트를 너겟 패키지에 넣으려고합니다. 로컬에서 할 수 있지만 빌드 서버에서는 할 수 없습니다. 빌드 서버에서 'System.Collections'에 이미 'Microsoft.NETCore.Platforms'에 대한 종속성이 정의되어 있습니다. NuGet을 업데이트해도 효과가 없습니다.
user3841460

이것은 나를 위해 작동합니다. 제 경우에는 SQLite-net PCL (Xamarin)을 설치하려고했습니다. Visual Studio는 2013 Ultimate입니다.
ramires.cabral

2
@TechJerk와 동일한 문제가 있지만 'System.Net.Http' already has a dependency defined for 'System.IO'-효과없이 NuGet 재설치 및 업그레이드를 시도했습니다 (현재 버전 2.8 ... 및 Visual Studio 2012 사용 중)
Blundering Philosopher

2
TeamCity에서이 오류가 발생하면 사용 가능한 최신 너겟 버전을 사용하도록 빌드 단계 설정을 업데이트해야 할 수도 있습니다.
Steve Greatrex

74

내 솔루션에서 비슷한 문제를 다음과 같이 수정했습니다.

  1. 명령 프롬프트 열기
  2. 내 솔루션의 .nuget 폴더로 이동
  3. 달리는 nuget update -self

이 업그레이드 복사본 NuGet.exe그에서 내 솔루션이었다 2.8.03.4.4고정하는의 'X'이미 제작하기 전에 자동으로 SSH.NET을 다운로드를 중지했다 'Y'오류에 대해 정의 된 종속성이 있습니다.

(솔루션에 복사본이없고 그렇지 않을 수도있는 경우 NuGet.exe대신 TN의 답변에서 솔루션을 시도해야합니다.)


이것은 나를 위해 수정했지만 대신 빌드 서버에서 실행했습니다. 실패한 빌드에 대한 로그에 문제의 NuGet.exe 경로가 표시되었습니다.
InteXX

20

업데이트를 시도했지만 작동하지 않았습니다. 도움 :

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

1
이것은 나를 위해 해냈습니다.
Naner

6

이전 버전의 Visual Studio 2010에서이 오류가 발생했습니다. 프로젝트 구성으로 인해이 버전을 최신 버전으로 업데이트 할 수 없습니다. 따라서 위에서 권고 한 NuGet 업데이트로 문제가 해결되지 않았습니다.

이 상황과 유사한 상황에서 오류의 근본 원인은 설치하려는 패키지의 종속성으로 인해 프로젝트에서 사용 가능한 .NET 버전과 호환되지 않습니다.

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

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

Install-Package X -Version [compatible version number]

5

TeamCity 빌드 서버에서이 문제가 발생했습니다. TC를 통해 빌드 서버에서 NuGet 업데이트를 시도했지만 작동하지 않았습니다. Nuget Installer 빌드 단계의 "업데이트 모드"를 솔루션 파일에서 packages.config.


정보 주셔서 감사합니다. 동일한 문제가 발생했습니다 .NuGet을 4.0.0 / 기본값이 아닌 것으로 업데이트하고 실패한이 빌드 구성에 대해 NuGet을 v4로 변경하여 작업을 수행했습니다!
Dr. Andrew Burnett-Thompson

하지만 어떻게하나요?
ympostor

3

'Newtonsoft.Json' already has a dependency defined for 'Microsoft.CSharp'TeamCity 빌드 서버 에서 문제가 발생 했습니다. Nuget Installer 빌드 단계 의 " 업데이트 모드 "를 솔루션 파일에서 packages.config로 변경 하고 NuGet.exe 를 최신 버전 (3.5.0이 있음)으로 변경하고 작동했습니다!


그렇게하는 방법??
ympostor

이 똑같은 문제가 발생합니다.
Jess


빌드 구성 설정으로 이동하여 빌드 단계에서 NuGet 설치 관리자에 대한 단계를 러너 유형으로 추가합니다. 최신 버전으로 packages.config 및 NuGet.exe에 솔루션 파일에서 Nuget 설치 빌드 단계의 "업데이트 모드"로 변경
szc0025

2
  1. https://www.nuget.org/packages/ClosedXML/0.64.0 링크로 이동 하십시오.
  2. NuGet 패키지 검색
  3. 관련 패키지의 모든 버전보기
  4. 더 낮은 버전의 패키지 설치

이것은 비주얼 스튜디오 버전이 너무 낮은 경우에 실제로 좋은 솔루션입니다. 제 경우에는 최신 버전의 NuGet을 지원하지 않는 VS2012로 작업해야합니다. 즉, NuGet 패키지 관리 창을 통해 항상 최신 패키지를 다운로드 할 수는 없습니다.
Mixxiphoid

1

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

또한 NuGet.targets에 DownloadNuGetExe가 true로 표시되어 있습니다.

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

도움이 되었기를 바랍니다.


0

나를 위해 일한 유일한 해결책은 Visual Studio 2013에서 nuget을 완전히 제거한 다음 그 사이에 VS를 의무적으로 다시 시작하여 다시 설치하는 것입니다.


0
  1. 도구로 이동하십시오.
  2. 확장 및 업데이트.
  3. Nuget 및 기타 중요한 기능을 업데이트하십시오.
  4. 재시작.

끝난.


0

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

이 명령은 작동했습니다.

PM> Install-Package EPPlus -Version 4.5.3.1

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

PM> Install-Package EPPlus -Version 4.5.3.2
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.