2009-11-11 2 views
1

솔루션에 여러 프로젝트가 있습니다.이 프로젝트는 quiet 모드 (/ v : q)에서 msbuild를 사용하여 만듭니다. 그러나 이것은 나에게 너무 조용합니다. 현재 구축 된 프로젝트의 이름을 출력하고 싶습니다. A.sln이 1.csproj, 2.csproj 및 3.csproj을 포함 그렇다면, A.sln이 같은 것을 인쇄해야 MSBUILD :솔루션을 빌드 할 때 msbuild가 현재 빌드 된 프로젝트의 이름을 출력하도록 할 수 있습니까?

1

2

3

감사합니다.

편집 : 나는 또한 msbuild를가 자동 모드에서 실행되는 경우에만 경우 건설 프로젝트의 이름을 인쇄하고 싶은

. 다른 모든 모드에서는이 출력물이 완전히 중복됩니다.

답변

0

빌드 스크립트에 다음을 추가 할 수 있습니다.

<Target Name="BeforeBuild"> 
<Message Text="$(MSBuildProjectName)" Importance="High"/> 
</Target> 
+0

msbuild를 자동 모드 (/ v : q)로 실행하면 메시지가 표시되지 않습니다. – mark

+0

맞습니다. MSBuild는 자동 모드에서 모든 STDOUT 및 STDERR 출력을 차단합니다. 을 통해 에코를 호출해도 아무 결과도 나타나지 않습니다. "최소"모드로 전환하는 것이 좋습니다. – VladV

+0

최소한의 상세 수준에는 두 가지 문제가 있습니다. 1. 여전히 너무 장황합니다. 2. 출력이 연속적이어서 한 프로젝트가 종료되고 다음 프로젝트가 시작될 때보기가 어렵습니다. 모든 기본 출력을 억제하고 프로젝트 이름 만 인쇄 할 수 있다면 그렇게 될 것입니다. – mark

0

Try/v : m [inimal]. 이렇게하면 각 프로젝트와 출력 파일 이름이 컴파일 된 후 출력됩니다.

+0

아닙니다. 프로젝트를 구축하는 데는 몇 개의 보조 목표물을 방문해야하며, 그 중 일부는 실제로 구축됩니다. 프로젝트 컴파일 과정에서 빌드 된 모든 타겟은 최소한의 상세 제작 빌드에서 출력을 공유합니다. 이것은 여전히 ​​너무 장황하다. 프로젝트 이름 만 있으면됩니다. – mark

관련 문제