2013-05-02 2 views
1

NuGet이 로컬에 존재하지 않는 경우 (예 : 패키지가 커밋되지 않은 경우) 복원해야하는 패키지 (그리고 패키지를 찾는 위치를 어떻게 알 수 있는지)를 알기 위해 노력하고 있습니다. 소스 제어).Nuget 패키지 복원

나는 솔루션에서 볼 수있는 .nuget 디렉토리가 있지만 기본적으로 NuGet.exe가 포함되어 있습니다. 유망 해 보이는 각 프로젝트에는 다음과 같은 내용이 포함 된 packages.config가 있습니다 (명확성을 위해 단축 됨).

<?xml version="1.0" encoding="utf-8"?> 
<packages> 
<package id="AutoMapper" version="2.2.1" targetFramework="net40" /> 
</packages> 

패키지의 출처를 가리키는 URL이 표시 될 것으로 예상됩니다. 따라서 Nuget이 패키지 ID 문자열을 사용하는 경우 두 패키지 모두 동일한 패키지 ID를 사용할 수있는 여러 패키지 소스가있는 경우 어떻게해야 할지를 어떻게 알 수 있습니까? 패키지 소스의 우선 순위에 불과합니까?

로컬 소스의 패키지가 있기 때문에 패키지를 삭제하고 패키지 소스를 비활성화하고 솔루션을 정리하고 다시 작성했기 때문에 물어 봅니다. 그것은 그것이 실패 할 것으로 예상했을 때 효과가있었습니다.

감사합니다.

답변

2

이 게시물에이 개 질문은, 그래서 하나 하나를 해결하기 위해 노력 할게요 :

NuGet는 복원 할 필요가 패키지를 알고 있습니까?

짐작할 수 있듯이 Nuget은 누락 된 패키지를 자동으로 설치하기 위해 .Nuget 폴더를 사용합니다. .Nuget 폴더 안에 기본적으로 packages.config 파일에 나열된 패키지를 설치하기 위해 담당이 선

<RestoreCommand>$(NuGetCommand) install "$(PackagesConfig)" -source "$(PackageSources)" -nocache $(RequireConsentSwitch) -solutionDir "$(SolutionDir) "</RestoreCommand> 

를 포함하는 VS 프로젝트 파일 (.csproj)는 "Nuget.targets"라는 이름의 파일이있다 각 프로젝트마다.

그래서 Nuget이 패키지 ID 문자열을 사용하는 경우 두 패키지 모두 동일한 패키지 ID를 사용할 수있는 여러 패키지 소스가있는 경우 어떻게해야하는지 알 수 있습니까?

% APPDATA % \ nuget.config에서, 당신은 Nuget은 "패키지 소스"의 목록을 볼 수 있습니다 : 주어진 packageId를 들어, Nuget는 nuget에서와 같은 순서로 이러한 패키지 소스에서 검색합니다. 구성

관련 문제