간단한 클래스 라이브러리 프로젝트 (Class1
)가 있으며이 솔루션에 대해 NuGet 패키지 복원이 활성화되었습니다.NuGet PackageRestore with msbuild 사용
그러면 restorepackages
작업을 .csproj 파일로 가져옵니다.
내가
C:>msbuild myproj.csproj /t:compile
와 프로젝트를 컴파일 할 수 있습니다 그리고 내가 어떤 패키지를 추가하면 restorepackages 작업이 실패하게됩니다, 그러나
C:>msbuild myproj.csproj /t:restorepackages
로 추가 패키지 전에 restorepackages 작업을 성공적으로 호출 할 수 있습니다 오류 3입니다.
NuGet 작업이 잘못된 작업 디렉터리로 호출 된 것으로 보이며 실제로 t를 제거하여 문제를 해결할 수 있습니다 그는 솔루션에 추가 된 NuGet.targets 파일의 workdir attribut를 사용합니다.
편집과 같은 작업 :
<Exec Command="$(RestoreCommand)"
LogStandardErrorAsError="true"
Condition="Exists('$(PackagesConfig)')"
WorkingDirectory="$(NuGetToolsPath)" />
및 작업 디렉토리를 제거는 :
<Exec Command="$(RestoreCommand)" LogStandardErrorAsError="true" Condition="Exists('$(PackagesConfig)')" />
이 명령 줄은 MSBuild에서와 VS2010에서 모두 예상대로 작동하는 것 같다.
이 변경으로 인해 툴링이 손상 될 수 있다는 것을 아는 사람이 있습니까?