2009-11-11 72 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

相关问题