msbuild:无论如何显示摘要并使用verbosity=minimal

标签 msbuild

我有一个用于构建 .net 解决方案的批处理文件,并试图将详细程度降至最低,它仅显示正在构建的项目以及任何警告和/或错误,但也希望在结尾处查看带有警告数量的摘要和错误加上构建时间。

我已经尝试了详细程度和/v 和/cpl 的多种组合,但似乎您只能获得太多输出 + 摘要或正确的最小输出而没有摘要

有任何想法吗?

提前致谢

最佳答案

您可以按照此处的说明编写自定义记录器:http://msdn.microsoft.com/en-us/library/ms171471.aspx

这里有一些代码可以帮助您入门:

public class SummaryLogger : Logger
{
    int warningCount = 0;
    int errorCount = 0;

    public override void Initialize(IEventSource eventSource)
    {
        eventSource.WarningRaised += eventSource_WarningRaised;
        eventSource.ErrorRaised += eventSource_ErrorRaised;
        eventSource.BuildFinished += eventSource_BuildFinished;
    }

    void eventSource_WarningRaised(object sender, BuildWarningEventArgs e)
    {
        warningCount++;
        Console.WriteLine("Warning: " + e.Message);
    }

    void eventSource_ErrorRaised(object sender, BuildErrorEventArgs e)
    {
        errorCount++;
        Console.WriteLine("Error: " + e.Message);
    }

    void eventSource_BuildFinished(object sender, BuildFinishedEventArgs e)
    {
        Console.WriteLine("MSBuild Finished: " + errorCount + " errors | " + warningCount + " warnings.");
    }
}

此记录器记录警告、错误并总结错误和警告的数量。您需要为时间和项目添加一点代码,以便它正是您想要的。

要使用它,您可以调用 MSBuild 并添加以下参数:
/nologo /noconsolelogger /logger:pathTo/SummaryLogger.dll

关于msbuild:无论如何显示摘要并使用verbosity=minimal,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7729030/

相关文章:

.net - MSBuild 失败,但在 Visual Studio 中构建工作正常

.net - 如何使用 msbuild 生成 specflow feature.cs 文件?

msbuild - TeamCity 与 MSBuild 命令行

visual-studio - Visual Studio 是否在内部使用 MSBuild,确切的命令是什么?

c# - 通过命令提示符构建 VS 解决方案

Jenkins + Python + MSBuild = 无 ANSI 颜色

asp.net - .wpp.targets 发布到服务器

msbuild - 在MSBuild中找出当前操作系统的 "Bit"

visual-studio - NuGet 包目录的 MSBuild 宏

tfs - MSBuild/t :pack Nuget-Package has always the same Version