4

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

这个怎么做?

4

1 回答 1

6

如果它是来自 MSBuild 别名的警告和错误,您当然可以使用MSBuildSettings参数上的 AddFileLogger 扩展方法进行记录。

基本改变

  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 })
  );
于 2017-02-16T14:05:51.053 回答