生成解决方案时是否可能导致msbuild输出当前生成项目的名称?

生成解决方案时是否可能导致msbuild输出当前生成项目的名称?,msbuild,Msbuild,我在一个解决方案中有几个项目,我在安静模式/v:q下使用msbuild构建了这些项目。 然而,这对我来说太安静了。我想它打印当前建设项目的名称。因此,如果A.sln包含1.csproj、2.csproj和3.csproj,那么msbuild A.sln应该打印如下内容: 一, 二, 三, 谢谢 编辑: 当且仅当msbuild在安静模式下运行时,我还希望打印生成项目的名称。在所有其他模式下,此打印输出是完全冗余的。您可以尝试将以下内容添加到构建脚本中 <Target Name="Before

我在一个解决方案中有几个项目,我在安静模式/v:q下使用msbuild构建了这些项目。 然而,这对我来说太安静了。我想它打印当前建设项目的名称。因此,如果A.sln包含1.csproj、2.csproj和3.csproj,那么msbuild A.sln应该打印如下内容:

一,

二,

三,

谢谢

编辑:


当且仅当msbuild在安静模式下运行时,我还希望打印生成项目的名称。在所有其他模式下,此打印输出是完全冗余的。

您可以尝试将以下内容添加到构建脚本中

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

Try/v:m[最小]。这将在编译后输出每个项目及其输出文件名。

不幸的是,在安静模式下运行msbuild时,不会看到消息/v:qYou't right。看起来,MSBuild在安静模式下截获了所有的STDOUT和STDERR输出——调用echo via也不会产生任何结果。我建议你考虑切换到最小模式。最小的冗长级别有两个问题——1。还是太冗长了。输出是连续的,很难看到一个项目何时结束,下一个项目何时开始。如果我可以抑制所有的默认输出,只打印项目名称,那就是了。以某种方式对输出进行后处理可能是有意义的,比如,将其馈送给grep并过滤掉所有不需要的行。不完全如此。建造一个项目需要访问许多辅助目标,其中一些是实际建造的。在项目编译期间构建的每个目标都会在最小的详细构建中获得其输出份额。这对我来说还是太冗长了。我只想要项目名称,就这样。