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

Log the warning messages in a text file from a cake script

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

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

我想添加如下内容,

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

如何操作?

如果您想要记录的是来自 MSBuild 别名的警告和错误,那当然可以使用 AddFileLogger extension method on the 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 })
  );