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

Mei*_*. I 4 .net c# gitlab gitlab-ci cakebuild

我正在使用下面的蛋糕脚本来编译我的C#项目.PowerShell执行脚本时显示的警告消息很少.我喜欢在一个物理位置的文本文件中记录警告(例如:D:\WarningReport.txt).以下是我用来编译项目的蛋糕脚本任务.

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

我想添加如下的内容,

LogWarningMessagesTo("D:\WarningReportes.txt");
LogErrorMessagesTo("D:\ErrorReportes.txt");
Run Code Online (Sandbox Code Playgroud)

这该怎么做?

dev*_*ead 5

如果是从的MSBuild别名警告和错误要记录,使用当然可以AddFileLogger的扩展方法MSBuildSettings参数.

基本上改变

  MSBuild("./src/Example.sln", settings =>
    settings.SetConfiguration(configuration));
Run Code Online (Sandbox Code Playgroud)

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 })
  );
Run Code Online (Sandbox Code Playgroud)