2017-02-16 27 views
3

Я использую сценарий ниже, чтобы скомпилировать мой проект C#. При выполнении сценария в сообщении PowerShell есть несколько предупреждающих сообщений. Я хотел войти предупреждения в текстовом файле, который находится в физическом месте (например:.. D:\WarningReport.txt) Ниже задача торт скрипт я использую, чтобы скомпилировать проектЗапись предупреждающих сообщений в текстовый файл из сценария торта

Task("Build") 
    .Does(() => 
{ 
    if(IsRunningOnWindows()) 
    { 
     MSBuild("./src/Example.sln", settings => 
     settings.SetConfiguration(configuration)); 
    } 
}); 

Я хотел бы добавить что-то, как показано ниже ,

LogWarningMessagesTo("D:\WarningReportes.txt"); 
LogErrorMessagesTo("D:\ErrorReportes.txt"); 

Как это сделать?

ответ

5

Если это предупреждения и ошибки из MSBuild псевдонима вы хотите войти, что, конечно, можно с помощью метода AddFileLogger расширения на параметре MSBuildSettings ,

В принципе изменить

MSBuild("./src/Example.sln", settings => 
    settings.SetConfiguration(configuration)); 

в

MSBuild("./src/Example.sln", settings => 
    settings.SetConfiguration(configuration) 
      .AddFileLogger(new MSBuildFileLogger { 
       LogFile ="D:/WarningReportes.txt", 
       MSBuildFileLoggerOutput = MSBuildFileLoggerOutput.WarningsOnly }) 
      .AddFileLogger(new MSBuildFileLogger { 
       LogFile ="D:/ErrorReportes.txt", 
       MSBuildFileLoggerOutput = MSBuildFileLoggerOutput.ErrorsOnly }) 
);