隐藏MSBuild任务的控制台输出

3
我正在从命令行运行此msbuild脚本(其他细节省略)。
<MSBuild Projects ="@(ProjectsToBuild)"
             ContinueOnError ="false"
             Properties="Configuration=$(Configuration)">

如果编译时没有任何错误,我该如何隐藏它的输出?
2个回答

3

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

如果您从msbuild看到控制台输出,则正在查看内置console logger的输出。您可以使用/noconsolelogger命令行选项关闭控制台记录器。

即使设置了该选项,您仍将看到一些输出行:启动消息包括程序名称和版权消息。您可以使用/nologo选项来抑制该输出。


3

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

<Exec Command="MSBuild $(MSBuildProjectDirectory)\$(MsBuildThisFile) /t:TargetToExecute /nologo /noconsolelogger"/> 

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接