将警告消息记录在蛋糕脚本的文本文件中

时间:2017-02-16 10:52:52

标签: c# .net gitlab gitlab-ci cakebuild

我使用下面的蛋糕脚本来编译我的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");

怎么做?

1 个答案:

答案 0 :(得分: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 })
  );