Как я могу направить мой вывод msbuild в файл журнала с граблями - PullRequest
2 голосов
/ 25 июня 2010

Я использую потрясающий камень albacore с rake для создания нового проекта .NET.Моя организация все еще использует NAnt, и есть много людей, которые ожидают увидеть файл журнала при выполнении сценария сборки.Как сохранить выходные данные задачи msbuild, которые выгружаются в STDOUT, в файл журнала?

1 Ответ

3 голосов
/ 26 июня 2010

Я нашел решение. На самом деле нам не нужен файл журнала сборки для нашего CI-сервера (hudson), но было бы неплохо иметь физические файлы для проверки, когда сборка выполняется локально, особенно когда мы выполняем танец регистрации и сборку. выходит из строя.

К счастью, парни из albacore были достаточно умны, чтобы создать опцию «.parameters», которую можно использовать с любой из задач инструмента командной строки для добавления параметров, которые явно не обрабатываются этой задачей. Так, например, вы можете добавить параметр в задачу msbuild, чтобы указать файл журнала для MSBuild. И это выглядит примерно так:

BUILD_REPORTS = 'BuildReports'
MSBUILD_EXE = "C:/Windows/Microsoft.NET/Framework/v4.0.30319/msbuild.exe"

directory BUILD_REPORTS

CLEAN.include BUILD_REPORTS

task :default => [:build]

desc "Build the solution"
msbuild :build => BUILD_REPORTS do |msb|
    msb.properties :configuration => :Debug
    msb.path_to_command = MSBUILD_EXE
    msb.targets :Clean, :Build
    msb.solution = "./mysolution.sln"
    msb.parameters "/l:FileLogger,Microsoft.Build;logfile=" + log_file("build")
end

def log_file(log_file_name)
    BUILD_REPORTS + log_file_name + ".log"
end

Наш rakefile немного сложнее, потому что он должен делать больше вещей, но вы понимаете.

...