Nice programing

NuGet 패키지 관리자 : 'AutoMapper'에 이미 'Microsoft.CSharp'에 대한 종속성이 정의되어 있습니다.

nicepro 2020. 10. 15. 21:41
반응형

NuGet 패키지 관리자 : 'AutoMapper'에 이미 'Microsoft.CSharp'에 대한 종속성이 정의되어 있습니다.


Visual Studio Premium 2012에서 NuGet을 사용하여 프로젝트에 AutoMapper를 종속성으로 추가하려고하는데 실패합니다.

그것은 말한다 :

작업 실패
'AutoMapper'에 이미 'Microsoft.CSharp'에 대한 종속성이 정의되어 있습니다.

다른 종속성을 추가 할 수 있습니다.

VS 2012 용 패키지 관리자의 마지막 버전을 사용하고 있습니다.

NuGet 패키지 관리자 2.8.60318.667

어떤 아이디어를 확인해야합니까?


문제는 NuGet 패키지 관리자가 너무 오래되었다는 것입니다. AutoMapper 5.0.1 NuGet 패키지가 사용하는 최신 .NETStandard 프레임 워크를 지원 하므로 NuGet 2.12 가 필요 합니다.

AutoMapper에는 .NETStandard의 대상 프레임 워크를 지정하는 그룹 종속성이 있습니다. NuGet 패키지 관리자의 버전이 너무 오래 되었기 때문에이 대상 프레임 워크를 인식하지 못하고 알 수없는 대상 프레임 워크로 변환하고 해당 NuGet 패키지에서 .NETStandard가 몇 번 사용되기 때문에 중복 된 프레임 워크가 발생합니다. 이로 인해 오류가 발생합니다.

'AutoMapper' already has a dependency defined for 'Microsoft.CSharp'

안타깝게도 NuGet 2.12는 Visual Studio 2012에서 사용할 수 없지만 Visual Studio 2013에서는 사용할 수 있습니다.

따라서 Visual Studio 2013 이상으로 업데이트해야하거나 .NETStandard를 지원하지 않는 이전 AutoMapper NuGet 패키지를 사용해야합니다.


현재 버전의 automapper에 문제가있는 것 같습니다.

AutoMapper 5.0.0 2016 년 6 월 28 일 화요일

이전 버전으로 시도했는데 작동합니다.

PM> Install-Package AutoMapper -Verbose
Install-Package : 'AutoMapper' already has a dependency defined for 'Microsoft.CSharp'.
At line:1 char:16
+ Install-Package <<<<  AutoMapper -Verbose
    + CategoryInfo          : NotSpecified: (:) [Install-Package], InvalidOperationException
    + FullyQualifiedErrorId : NuGetCmdletUnhandledException,NuGet.PowerShell.Commands.InstallPackageCommand

PM> Install-Package AutoMapper -Version 4.2.1
Installing 'AutoMapper 4.2.1'.
Successfully installed 'AutoMapper 4.2.1'.

따라서 NuGet 패키지 관리자를 업데이트 할 수없는 경우 대답은 다음과 같습니다.

PM> Install-Package AutoMapper -Version 4.2.1

다음을 실행하여 NuGet 패키지를 빌드 할 수 있도록 솔루션에 포함 된 NuGet.exe를 업데이트해야했습니다.

nuget.exe update -self


VS2013에서 동일한 문제가 발생했습니다. VS2013 업데이트 5로 업데이트하고 https://dist.nuget.org/visualstudio-2013-vsix/v2.12.0/NuGet.Tools.vsix 에서 VS2013 용 최신 nuget 배포판을 가져와야했습니다.

완료되면 Visual Studio를 재부팅했습니다. 그 후 Automapper 5.0.2 패키지를 사용할 수있었습니다.


Visual Studio> 도구> 확장 및 업데이트로 이동합니다.

왼쪽 아코디언 메뉴에서 업데이트를 찾고 Visual Studio 갤러리로 이동합니다.

Nuget에 대한 업데이트를 찾을 수 있습니다.

너겟 패키지를 업데이트하고 프로젝트를 설치하거나 빌드하십시오.

고마워, GT


VS2012 및 이전 Nuget 버전을 사용하는 경우 다른 해결 방법 :

  • (와 VS 2012의 Nuget 패키지 관리자의 캐시 폴더를 찾습니다 Tools- Options- Nuget Package Manager)
  • AutoMapper.5.x.x.nupkg좋아하는 Zip 도구로 열기
  • 파일 수정 AutoMapper.nuspec-단순히 모든 종속성을 삭제했습니다..NETFramework4.5
  • Nuget 소스로 캐시 폴더 추가 (도에서 Tools- Options- Nuget Package Manager)
  • 콘솔 또는 GUI를 사용하여 Automapper를 설치하되 먼저 새로 추가 된 캐시 폴더를 패키지 소스로 선택해야합니다.

물론, Automapper의 다음 버전도 설치하기 위해 조정이 필요할 것입니다.


이는 Automapper 패키지에서 사용하는 .NET 버전과 프로젝트가 일치하지 않는 것 같습니다. 프로젝트에서 사용중인 .NET 버전을 확인할 수 있습니까?


Automapper 6.0.2-nuget 2.8.8에서이 오류가 발생합니다. 이 작업을 수행하려면 3.4.4로 업데이트해야합니다.


Removed both CSharp and AutoMapper. Installed CSharp (4.0.0.0) first and then added Automapper (6.1.1.0). This resolved the problem for me.


I observed this exact problem when opening a project with Visual Studio 2010.

After opening with VS2017, I was able to install AutoMapper without any error.

참고URL : https://stackoverflow.com/questions/38247961/nuget-package-manager-automapper-already-has-a-dependency-defined-for-micros

반응형