2009-11-11 77 views
1

我在一個解決方案中有幾個項目,我使用安靜模式下的msbuild構建(/ v:q)。 但是,這對我來說太安靜了。我希望它打印當前生成的項目的名稱。所以,如果A.sln包含1.csproj,2.csproj和3.csproj,然後MSBuild的A.sln應打印類似:構建一個解決方案以便使msbuild輸出當前構建的項目的名稱時可以嗎?

感謝。

編輯:

我也想打印當且僅當在的MSBuild安靜模式運行內置項目的名稱。在所有其他模式下,此打印輸出完全是多餘的。

回答

0

您可以嘗試將以下內容添加到您的構建腳本中。

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

不幸的是,當msbuild在安靜模式下運行(/ v:q)時看不到消息 – mark 2009-11-11 13:14:04

+0

您是對的。看起來,MSBuild在安靜模式下攔截所有STDOUT和STDERR輸出 - 通過調用回聲也不會產生任何結果。我建議你考慮切換到「最小」模式。 – VladV 2009-11-12 07:59:41

+0

最小冗餘級別有兩個問題 - 1.仍然過於冗長2.輸出是連續的,很難看到一個項目什麼時候結束而下一個開始。如果我可以禁止所有的默認輸出並只打印項目名稱,那就是了。 – mark 2009-11-12 08:32:23

0

Try/v:m [inimal]。這將在編譯後輸出每個項目及其輸出文件名。

+0

不完全。建設一個項目涉及訪問不少輔助目標,其中一些輔助目標實際上是建立的。在項目編譯過程中構建的每個目標都以最小的冗長構建獲取其輸出份額。這對我來說仍然過於冗長。我只想要項目名稱,就是這樣。 – mark 2009-11-13 22:31:05

相關問題