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

标签 c# .net gitlab gitlab-ci cakebuild

我正在使用下面的 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 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 })
  );

关于c# - 从蛋糕脚本中将警告消息记录在文本文件中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42271823/

相关文章:

c# - 如何在 Windows 10 通用应用程序开发中使用硬件后退按钮将导航限制到某些页面?

C# parchive/quickpar/par2修复实现?

c# - 可用于 .NET 应用程序的商业 'Help' 创建工具?

git - 推送后Gitlab中丢失的文件

git - go build 不起作用,因为 git 在 Linux 上被对等方重置了致命的读取错误连接

c# - 从 .NET COM 库解码 ASP Request.ClientCertificate ("Certificate")

c# - 如何释放/释放 IntPtr 到函数指针?

c# - 无法加载文件或程序集 "Microsoft.VisualStudio.Services.Common, Version=12.0.21005.1, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a"

.net - System.Threading.Thread.Sleep(1000) 与 System.Threading.Tasks.Task.Delay(1000).Wait()

gitlab - 是否可以跨多个gitlab管道 "lock"组作业