从msbuild任务隐藏控制台输出

时间:2015-07-03 01:53:58

标签: msbuild msbuild-task msbuildextensionpack

我从命令行运行这个msbuild scriplet(其他详细信息已经省略)

sum_diff

如果我在编译时没有任何错误,如何隐藏其输出?

2 个答案:

答案 0 :(得分:2)

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

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

答案 1 :(得分:1)

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

如果你从msbuild看到控制台输出,你就会看到内置控制台记录器的输出。您可以使用/noconsolelogger命令行选项关闭控制台记录器。

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