저는 subprocess를 호출하여 Python을 통해 Visual Studio 2010 솔루션을 구축하고 있습니다. 명령 행에서 직접 호출하면 devenv.com ~ 15 초가 걸립니다. 그러나 Python에서 호출하면 최대 1.5 분이 소요됩니다.MSBuild.exe로 증분 빌드
당연히 나는 우리가 지은 시간에서 그 죽은 시간을 제거하기를 희망하고 있습니다. 그래서 MSBuild.exe (.NET 4)를 테스트하기로 결정했습니다. MSBuild.exe가 즉시 실행되는 것 같습니다. 그러나 ... 그것은 증분이 아닌 매회 완전한 빌드를하는 것처럼 보입니다.
내가 사용 명령이 증분 빌드를 지원해야 것 같다
"C:\Windows\Microsoft.NET\Framework\v4.0.30319\MSBuild.exe" "C:\path\to\my\project.sln" /target:build /maxcpucount:8 /property:Configuration=Release
입니다. 그러나 msbuild가 이와 같은 증분 빌드를 지원하지 못할 수 있음을 나타내는 온라인 게시물을 보았습니다.
이것이 가능합니까? 그렇다면 내가 뭘 잘못하고 있니?
업데이트 :
이 내용을 읽었습니다. 내 .vcxproj 파일에 설정된 입력 및 출력 특성이 필요한 것처럼
http://msdn.microsoft.com/en-us/library/ms171483.aspx
및
http://www.digitallycreated.net/Blog/67/incremental-builds-in-msbuild-and-how-to-avoid-breaking-them
을 바탕으로 보인다. 내 파일을 체크 아웃 이러한 실제로 없습니다.
언제 생성 되나요? 대부분의 .vcxproj 파일은 Visual Studio 2008에서 변환되었습니다. 그러나 입력 및 출력 속성도 누락 된 새 프로젝트가 생성되었습니다.
VS2010에서 이러한 속성을 가진 프로젝트를 만들지 못합니까?
업데이트 : VS 2013으로 업그레이드 한 이후로 이제는 msbuild가 증분 빌드를 지원합니다. VS 2010 문제의 맨 아래에 도달하지 마십시오.
MSBuild가 증분 빌드를 지원하지 않는다는 정보를 어디에서 보았습니까? URL이나 포인터를 게시하는 방법을 게시 할 수 있습니까? –
이것은 내가 찾은 게시물입니다. https://social.msdn.microsoft.com/Forums/vstudio/en-US/8123dce6-7177-4fd7-b59c-51ef1359e60d/msbuild-task-is-not-incremental. 점진적 빌드가 지원되지 않는다고 생각하게 만든 점은 "MsBuild를 시스템으로 사용하거나 MSBuild를 작업으로 사용하면 .sln이 빌드되는 것과 관련된 입력 및 출력을 알 수있는 방법을 제공하지 않습니다." 그러나이 진술이 얼마나 정확한지 나는 분명하지 않다. 그러므로이 질문. –