Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/.net/25.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 将警告消息记录在蛋糕脚本的文本文件中_C#_.net_Gitlab_Gitlab Ci_Cakebuild - Fatal编程技术网

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

C# 将警告消息记录在蛋糕脚本的文本文件中,c#,.net,gitlab,gitlab-ci,cakebuild,C#,.net,Gitlab,Gitlab Ci,Cakebuild,我正在使用下面的脚本编译我的C项目。执行脚本时,PowerShell中显示的警告消息很少。我喜欢将警告记录在物理位置的文本文件中(例如:D:\WarningReport.txt)。 下面是我用来编译这个项目的脚本任务 Task("Build") .Does(() => { if(IsRunningOnWindows()) { MSBuild("./src/Example.sln", settings => settings.SetC

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

如何执行此操作?

如果您希望记录来自MSBuild别名的警告和错误,则可以使用参数上的扩展方法

根本改变

  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 })
  );