2017-09-07 1 views
0

내 솔루션에이 패키지를 설치하기 위해 Nuget을 사용하려고합니다. 이렇게하려면 패키지 관리자 콘솔에 "Install-Package Microsoft.Web.Infrastructure -verbose"를 입력합니다. 이 작업을 수행 한 후, 패키지를 설치하는 데 실패하고 나는 다음과 같은 정보를 얻을 : 'Microsoft.Web.Infrastructure.1.0.0왜 Microsoft.Web.Infrastructure를 설치할 수 없습니까?

https://api.nuget.org/v3/registration3-gz-semver2/microsoft.web.infrastructure/index.json OK https://api.nuget.org/v3/registration3-gz-semver2/microsoft.web.infrastructure/index.json이 33ms

가 패키지에 대한 의존성 정보를 수집하려고 GET을 '프로젝트'My_Project '와 관련하여'.NETFramework, Version = v4.6 '을 타겟팅합니다.

패키지 Microsoft 웹 사이트는 출처 nuget.org에서 수집 한 정보를 수집합니다. 결과

총 수는 수집 :

가 'Microsoft.Web을 패키지에 대한 종속성을 해결하기 위해 시도하는

1 수집은 의존성 정보는 14.22 MS 소스 당 종속성을 수집하는 데 걸리는 시간

요약했다. DependencyBehavior가 '최저'인 Infrastructure.1.0.0 '

종속성 정보를 해결하는 데 0ms가 걸렸습니다.

패키지 'Microsoft.Web.Infrastructure.1.0.0'패키지를 가져 오는 패키지 'Microsoft.Web.Infrastructure.1.0.0'

를 설치하는

해결 조치를 설치할 수 1,363,210

해결 행동 'Microsoft.Web.Infrastructure 1.0.0 'from'nuget.org '. 그 목표 'net46' 'My_Project을'프로젝트 패키지 'Microsoft.Web.Infrastructure.1.0.0을'추가에 대한

. 그 목표 'net46' 'My_Project을'프로젝트 패키지 'Microsoft.Web.Infrastructure.1.0.0을'추가에 대한

.

설치하지 못했습니다 : '내 \ 프로젝트 \ 패키지 \에 \ 경로 \를 C에게'이

추가 패키지 'Microsoft.Web.Infrastructure.1.0.0는'폴더로 이동합니다.

패키지 'Microsoft.Web.Infrastructure.1.0.0'프로젝트에 존재하지 않는 'My_Project'

폴더에서 패키지 'Microsoft.Web.Infrastructure.1.0.0를'제거 'C ... 롤백 : \ Path \ to \ my \ project \ packages '

설치 패키지 : TF400024 : C : \ Path \를 \ my \ project \ packages \ Microsoft.Web.Infrastructure.1.0.0.0 \ Microsoft로 변경했습니다. 내 \ 프로젝트 \ 패키지 \ Microsoft.Web.Infrastructure.1.0.0.0 \ Microsoft.Web.Infrastructure.1.0을 \에 \ 경로 \ 파일이 이미 C에 존재하기 때문에 Web.Infrastructure.1.0.0.0.nupkg는 취소 할 수 없습니다. 0.0.nupkg. 실행 취소가 성공하려면 디스크에서 파일을 삭제해야합니다. 행에서

: 1 문자 : 1 + 설치 패키지 Microsoft.Web.Infrastructure는 ~~~~~~~~~~~~~~~~~~~~~~~~~ + 를 -verbose ~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + CategoryInfo는 : NotSpecified (:) [설치 패키지, 예외 + FullyQualifiedErrorId : NuGetCmdletUnhandledException을 NuGet.PackageManagement.PowerShellCmdlets.InstallPackageCommand

시간 경과 : 00 : 00 : 00.4203958 'C : \ Path \ to \ my \ project \ packages \ Microsoft.Web.Infrastructure.1.0.0.0'중 하나 이상의 패키지를 완전히 제거 할 수 없습니다.

Visual Studio를 다시 시작하여 제거를 마칩니다.

"패키지"폴더를 삭제하고 Visual Studio를 다시 시작하려고했지만 아무 소용이 없습니다. NLog와 같은 다른 패키지를 설치할 수 있습니다. 이 패키지를 설치할 수없는 이유는 무엇입니까?

답변

0

문제는 내가 TFS 소스 컨트롤에 손상된 "packages/Microsoft.Web.Infrastructure.1.0.0.0"폴더를 추가했기 때문입니다. 이 폴더에는 참조를로드하는 데 필요한 "lib"디렉토리가 없습니다. 대신 "Microsoft.Web.Infrastructure.1.0.0.0.nupkg"아카이브 만 포함되었습니다. 이 문제를 해결하려면 7-zip을 사용하여 아카이브에서 "lib"디렉토리를 추출했습니다.

  • LIB

    • net40

      • Microsoft.Web :이 일을 한 후, 내 "패키지/Microsoft.Web.Infrastructure.1.0.0.0"디렉토리는 다음과 같은 구조를 가지고 있었다. Infrastructure.dll
  • Microsoft.Web.Infrastructure.1.0.0.0.nupkg는

마지막으로, 나는 Visual Studio에서 솔루션을 열어, 나는 프로젝트의 "참조"탭을 확장했다. "Microsoft.Web.Infrastructure"가 이미 프로젝트에 추가되었지만 노란색 "오류"기호가 있음을 발견했습니다. 이 문제를 해결하려면 마우스 오른쪽 버튼으로 클릭 한 다음 '속성'을 선택하기 만하면됩니다.

이 두 단계를 수행 한 후에 프로젝트를 성공적으로 빌드 할 수있었습니다.

0

소스 제어에서 packages.config 파일이 있습니까? 이 question의 경우 파일이 원본에서 삭제되었지만 여전히 존재한다는 (삭제되지 않은) 문제가있었습니다. 나는 당신의 packages.config가 소스 컨트롤에서 어떤 변화로도 체크 - 인/제곱되어 있는지 확인하고자한다.

관련 문제