2017-02-16 3 views
3

아래 케이크 스크립트를 사용하여 C# 프로젝트를 컴파일하고 있습니다. 스크립트를 실행하는 동안 PowerShell에 표시되는 경고 메시지가 거의 없습니다. . 나는 물리적 위치 (예 :에있는 텍스트 파일에 경고를 기록하려면 :. D:\WarningReport.txt) 는 아래 내가 프로젝트를 컴파일하는 데 사용하는 케이크 스크립트 작업입니다케이크 스크립트의 텍스트 파일에 경고 메시지를 기록하십시오.

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

나는 다음과 같은 것을 추가 할 이 MSBuild를 별칭에서 경고와 에러의 경우,

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

은 당신이이 MSBuildSettings 매개 변수에 AddFileLogger 확장 방법을 사용하여 확실히 가능 기록하려면?

답변

5

을이 작업을 수행하는 방법 .

기본적

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 }) 
); 

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

변경