2012-03-02 3 views

답변

3

MSBuild (Visual Studio 용 빌드 엔진)는 작업에 사용되는 도구가 빌드중인 프로젝트 파일에 의해 지정되는 모델을 사용합니다. 따라서 도구 목록은 구축중인 프로젝트의 유형에 따라 다릅니다. 주어진 솔루션을 빌드하는 데 사용되는 도구 목록을 찾는 가장 쉬운 방법은 도구 -> 옵션 -> 프로젝트 & 솔루션 -> 빌드 &을 통해 MSBuild에 대한 자세한 로깅 수준 (세부 사항 또는 진단)을 설정하는 것입니다. Visual Studio에서 실행 한 다음 빌드 대상에 의해 현재 호출 된 도구 표시에 대한 빌드 출력을 구문 분석/조사하십시오.

+0

+1은 도구가 프로젝트 유형에 따라 달라짐을 나타냅니다. –

+0

감사! 나는 상세한 출력을 보려고 노력했다. 그러나 나는 본다 : "Csc"작업 작업 "Csc"실행 완료. 그러나 csc.exe가 어떻게 호출되는지는 보여주지 않습니다. csc를 실행하라는 전체 호출을 어떻게 든 볼 수 있습니까? – pencilCake

+0

로그에 csc.exe 명령 줄이 표시되지 않으면 자세한 모드로 실행되고 있지 않습니다. 자세한 모드에서 로그는 다음과 같이 표시되어야합니다. 작업 "Csc" C : \ Windows \ Microsoft.NET \ Framework \ v4.0.30319 \ Csc.exe/noconfig/nowarn : 1701,1702/nostdlib +/errorreport : prompt/전쟁 n : 4/정의 : 디버그; 추적; 은색/참조 : ... –

0

각 프로젝트 (이 경우 C# csproj) 파일은 msbuild/visual 스튜디오에서 빌드 할 때 사용하는 msbuild에 대한 링크입니다.

<Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" />

이 대상은 사용 된 내부 파일에 대한 링크입니다.

2

Nick Nieslanik이 답변 한 바에 따르면 실제 툴셋은 프로젝트 유형 (및 대상 프로그래밍 언어), 선택한 .NET 프레임 워크 버전에 따라 다를 수 있습니다.

MSBuild에서 사용되는 모든 정의, 속성, 대상 등을 단일보기로 보려면 완전히 사전 처리 된 프로젝트 파일 (MSBuild 4.0 이상에서만 사용 가능)을 생성하고 검토 할 수 있습니다. msbuild.exe /? 출력에서 ​​

:

/preprocess[:file] 
        Creates a single, aggregated project file by 
        inlining all the files that would be imported during a 
        build, with their boundaries marked. This can be 
        useful for figuring out what files are being imported 
        and from where, and what they will contribute to 
        the build. By default the output is written to 
        the console window. If the path to an output file 
        is provided that will be used instead. 
        (Short form: /pp) 
        Example: 

        /pp:out.txt 

예 :이 경우 out.xml에서

msbuild.exe myproj.csproj /pp:out.xml 

는 기본적으로 쉽게 검색 할 수 있도록 인라인 모든 Import -ed 프로젝트 파일이있는자가 포함 된 파일입니다 그들을 찾아보십시오.

관련 문제