Development Tip

Visual Studio가 MSBuild에 전달하는 매개 변수는 무엇입니까?

yourdevel 2020. 12. 31. 22:59
반응형

Visual Studio가 MSBuild에 전달하는 매개 변수는 무엇입니까?


Visual Studio는 빌드를 실행할 때 MSBuild를 실행하여 대부분의 작업을 수행합니다. 적절한 구성 및 플랫폼 속성을 사용하여 .sln 파일을 MSBuild에 전달하면 Visual Studio와 유사한 방식으로 솔루션이 빌드됩니다.

msbuild mysolution.sln /p:Configuration=Release /p:Platform="Any CPU"

그러나, 이다 차이 : 때때로 빌드는 MSBuild를 통해 오류가 아닌 Visual Studio를 통해, 또는 그 반대합니다.

Visual Studio는 프로세스에 영향을주기 위해 MSBuild에 전달하는 매개 변수는 무엇입니까? 빌드가 실행될 때 전달하는 매개 변수를 볼 수있는 방법이 있습니까?


Visual Studio는을 실행하지 않지만 어셈블리를 MSBuild.exe통해 빌드 엔진 자체를 호스팅합니다 Microsoft.Build.*. 적어도 기본 C # 프로젝트 시스템의 경우입니다. 다른 언어, 추가 기능, 패키지 등은 다르게 수행 할 수 있습니다.

사실, 이것에 대해 마이크로 소프트 블로그에 포스트 시리즈가 있었는데, 나는 그들을 찾아서이 답변을 업데이트하려고 노력하고 있습니다.

업데이트 : 다시 찾았습니다. 여기에서 "Visual Studio의 MSBuild"게시물을 찾습니다 .

원래 질문과 관련 하여이 페이지가 도움 될 수 있습니다. 또한 "도구", "옵션", "프로젝트 및 솔루션", "빌드 및 실행"으로 이동하여 MSBuild 출력의 자세한 정도를 높일 수 있습니다. "진단"을 사용하면 기본적으로 빌드를 시작할 때 설정되는 모든 속성을 볼 수 있습니다.


먼저, /v:diag진단 수준 로깅을 얻기 위해 인수 와 함께 msbuild를 실행할 수 있습니다 . 이것은 빌드가 실패하는 이유를 파악하는 데 실제로 도움이 될 수 있습니다.

그렇지 않으면 예, Process Monitor 를 사용하는 경우 프로세스에 전송 된 특정 명령 줄을 볼 수있는 프로세스 시작 이벤트를 모니터링 할 수 있습니다.

구체적으로 특별히:

  • 프로세스 모니터 실행
  • 필터»필터 ...
  • Operation is Process Create »추가
  • Operation is Process Start »추가
  • 확인
  • VS 및 명령 줄 msbuild를 통해 빌드 실행
  • 세부 정보 열에서 명령 줄 인수를 참조하십시오.

참조 URL : https://stackoverflow.com/questions/11932164/what-parameters-does-visual-studio-pass-to-msbuild

반응형