2015-07-03 13 views
3

Я бег этого MsBuild скриптлета из командной строки (другие детали опущены)скрыть консольный вывод из MSBuild задачи

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

Как я могу скрыть свой выход, если у меня нет каких-либо ошибок на компиляции?

ответ

2

Нет параметров, которые вы можете добавить к определенной цели в msbuild, чтобы получить ее для сборки без вывода команды. Но вы могли бы обернуть вызов во второй цели, затем вызовите цель, выполнив MSBuild и с помощью флага/noconsolelogger:

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

выхода MSBuild (в основном) происходит от объектов Logger. Эти объекты расширяемы; вы можете предоставить свою собственную реализацию, или вы можете использовать любой из встроенных регистраторов.

Если вы видите консольный вывод из msbuild, вы видите вывод из встроенного консольного регистратора. Вы можете отключить ведомость консоли, используя опцию командной строки /noconsolelogger.

Даже с этой опцией вы все равно увидите пару строк вывода: сообщение о запуске, включающее имя программы и сообщение об авторском праве. Вы можете подавить этот выход с помощью опции /nologo.