MSBuild 로그의 기본 위치는 무엇입니까? 내 솔루션과 프로젝트가 저장된 폴더를 검색했지만 .log

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 내에서 전체 솔루션을 빌드하고 빌드 로그를 가져올 수 있습니다.