2017-10-16 5 views
0

새로운 MSBuild NuGet 복원 기능을 작동시키고 이상한 문제가 발생하도록 노력하고 있습니다.MSBuild 15 NuGet 복원 및 빌드

내가 할 경우

msbuild.exe mySolution.sln /p:Configuration=Release 

나는 누락 된 패키지에 대한 오류가 발생합니다. 이는 예상되는 동작입니다. 그러나, 내가 할 경우 :

msbuild.exe mySolution.sln /p:Configuration=Release /t:restore 

의 MSBuild를 "성공"하지만 단지 NuGet에 관한 일부 파일 즉 어떤 빈 \ 릴리스 \ 폴더 복원과 OBJ 폴더를 생성합니다.

빌드를 복원하려면 위의 두 명령을 모두 실행해야합니다 (분명히 먼저 복원해야 함).

.csproj 파일에서 최신 PackageReference를 사용하도록 모든 packages.config 파일을 업그레이드했습니다.

단일 명령을 사용하여 복원하고 빌드하는 방법이 있습니까?

답변

3

MSBuild 15.5는이 기능을 구현하는 a /restore flag을 소개합니다. 그 전에

, 모두 같은 호출 (/t:Restore;Build)에 복원하고 구축 실행 이론적으로 가능하지만 MSBuild에서 프로젝트 파일을 캐시 및 복원 NuGet으로 변경 한 내용을 볼 수 없습니다로는 안전하지 않은입니다. /restore 옵션을 사용하면 일반 빌드로 다시 시작하기 전에 영향을받은 모든 캐시를 지울 수 있습니다.

+0

감사합니다. 15.5에 ETA가 있습니까? – Tom

+0

아이디어가 없지만 VS 2017 15.5 미리보기가 이미 사용 가능합니다. –

+0

Google 솔루션에서 특정 누겟 복원을 수행하고 그대로 사용합니다. –