скрыть вывод консоли из задачи msbuild

Я запускаю этот скрипт msbuild из командной строки (другие подробности опущены)

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

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


person nerlijma    schedule 03.07.2015    source источник


Ответы (2)


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

<Exec Command="MSBuild $(MSBuildProjectDirectory)\$(MsBuildThisFile) /t:TargetToExecute /nologo /noconsolelogger"/> 
person Kevin R    schedule 06.07.2015

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

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

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

person MikeB    schedule 30.07.2017