3

I am running this msbuild scriplet from command line (other details ommited)

<MSBuild Projects ="@(ProjectsToBuild)"
             ContinueOnError ="false"
             Properties="Configuration=$(Configuration)">

How can I hide its output if I don't have any errors on compile ?

4

2 回答 2

3

没有任何参数可以添加到 msbuild 中的特定目标以使其在没有任何命令输出的情况下进行构建。但是您可以将调用包装在第二个目标中,然后通过执行 msbuild 并使用 /noconsolelogger 标志来调用目标:

<Exec Command="MSBuild $(MSBuildProjectDirectory)\$(MsBuildThisFile) /t:TargetToExecute /nologo /noconsolelogger"/> 
于 2015-07-06T18:02:55.063 回答
2

msbuild 输出(大部分)来自 Logger 对象。这些对象是可扩展的;您可以提供自己的实现,也可以使用任何内置记录器。

如果您看到来自 msbuild 的控制台输出,那么您看到的是来自内置控制台记录器的输出。/noconsolelogger您可以使用命令行选项关闭控制台记录器。

即使设置了该选项,您仍然会看到几行输出:包含程序名称和版权消息的启动消息。/nologo您可以使用该选项抑制该输出。

于 2017-07-30T19:11:59.280 回答