[visual-studio] MSBuild 로그의 기본 위치는 무엇입니까?

Visual Studio Express 2012를 사용하고 있습니다. 로그 파일의 위치는 어디입니까? 내 솔루션과 프로젝트가 저장된 폴더를 검색했지만 .log 파일을 찾을 수 없습니다.

다음은 로깅을위한 구성입니다.

여기에 이미지 설명 입력



답변

Visual Studio의 로그 파일은 C ++ 프로젝트에서만 지원됩니다. 다른 사람들을 위해 출력 창 으로 작업 하면됩니다.

이 유사한 스레드를 참조하십시오 : VS2010 : 출력의 최소 빌드 로그 및 로그 파일의 자세한 로그

C ++ 프로젝트에서이 작업을 수행하는 경우 파일은 다음 위치에 있습니다 .

… 중간 파일 디렉터리의 빌드 로그 … 빌드 로그의 경로와 이름은 MSBuild 매크로 식 $(IntDir)\$(MSBuildProjectName).log.


답변

msdn 문서는 이것에 대해 매우 명확합니다 (그리고 당신은 그것을 좋아하지 않을 것입니다!) :

https://msdn.microsoft.com/en-us/library/jj651643.aspx

그것이 말하는 곳 :

관리 코드 프로젝트에 대한 빌드 로그 파일을 만들려면 메뉴 모음에서 빌드, 솔루션 빌드를 선택합니다.

출력 창에서 빌드의 정보를 강조 표시 한 다음 클립 보드에 복사합니다.

메모장과 같은 텍스트 편집기를 열고 정보를 파일에 붙여 넣은 다음 저장합니다.


답변

파일에 로깅하는 대신 빌드 출력을 사용하십시오. 복사 / 붙여 넣기 대신 출력의 아무 곳이나 클릭하고 CTRL + S를 눌러 저장합니다. Visual Studio는 위치를 묻는 메시지를 표시합니다 (Visual Studio 2017에서 테스트되었지만 이전 버전에서도 작동한다고 가정합니다).

여기에 이미지 설명 입력


답변

VS가 이것을 직접 허용하지 않는 것은 사실이지만, MSBuild “내부”VS2015로 빌드하고 다음과 같이 빌드 창 출력과 로그 파일을 모두 가져올 수 있습니다. (아마도 이것은 약간의 해킹입니다.)

  1. VS Managed 솔루션에서 새 프로젝트를 추가합니다 ( ‘Make’라고하겠습니다). ㅏ. 원하는 프로젝트 유형은 Visual C ++ / NMake 프로젝트입니다.
  2. 명령 줄에서 필요한 MSBuild 명령을 정의합니다 (아래 참조).
  3. 일반 관리 프로젝트 대신 NMake 프로젝트를 빌드하도록 솔루션 구성을 변경하십시오.

그러면 MSBuild를 직접 실행할 수있는 Build, Rebuild 및 Clean 명령 줄이있는 프로젝트가 생성됩니다. 예를 들면 :

재 구축 : MSBuild.exe /ds /v:diag /property:Configuration=Debug ..\BuildTest\BuildTest.csproj /t:Clean,Build

짓다: MSBuild.exe /ds /v:diag /property:Configuration=Debug ..\BuildTest\BuildTest.csproj /t:Build

깨끗한: MSBuild.exe /ds /v:diag /property:Configuration=Debug ..\BuildTest\BuildTest.csproj /t:Clean

여러 프로젝트를 빌드하기 위해 여러 MSBuild.EXE 명령 줄을 지정할 수도 있습니다. 일반적인 솔루션 전체 빌드 결과의 경우 최종 최종 어셈블리 만 대상으로 지정하고 종속성 그래프가 개별 대상을 생성하도록 할 수 있습니다.

그러면 .log 파일이 생성됩니다. 여기서 NAME은 사용한 NMake 프로젝트의 이름입니다. 위의 예에서 로그는 make.log입니다.

작동 예제는 GitHub에서 사용할 수 있습니다 :
https://github.com/bitblitz/VS_MsbuildExample
(VS2015로 테스트 됨)

개별 프로젝트를 직접 빌드하는 것은 여전히 ​​일반 VS 동작으로 빌드되지만 VS 내에서 전체 솔루션을 빌드하고 빌드 로그를 가져올 수 있습니다.


답변