Добавление ключа командной строки /fileLogger
приводит к тому, что MSBuild записывает выходные данные сборки в файл msbuild.log в текущем каталоге, а переключатель /noconsolelogger
приводит к тому, что MSBuild больше не выполняет запись в стандартный вывод. Имя файла можно установить с помощью переключателя /flp
, как показано в следующем примере:
msbuild "SharedLibraries.sln" /nologo /noconsolelogger /fileLogger /flp:logfile=buildlog.txt
Подробнее см. Справочник по командной строке MSBuild .
Относительно вашего второго вопроса; MSBuild возвращает ненулевой код завершения, если сборка не удалась, который можно обработать как обычно:
msbuild "SharedLibraries.sln" /nologo /noconsolelogger /fileLogger /flp:logfile=SharedLibraries.log
if not errorlevel 0 goto ERROR
msbuild "Myapp.sln" /nologo /noconsolelogger /fileLogger /flp:logfile=Myapp.txt
if not errorlevel 0 goto ERROR
:ERROR