文章预览
实现并使用自定义的 msbuild logger Intro 最近想改一下项目,发现有很多警告,想把所有的 warning 导出到 JSON 以方便统计 warning 类型以及出现的次数,但是目前 dotnet build 还不支持,于是想提一个 issue 希望支持一下,然后有大佬说可以自定义一个 msbuild logger 来实现,.NET SDK 里的 Terminal Logger 也是这种方式实现的,于是就找了下文档动手尝试了一下,分享一下,希望对大家有所帮助 Implement 首先我们来创建一个新的类库项目,并添加 Microsoft.Build.Framework nuget 包的引用 然后就可以创建一个 logger,实现: Microsoft.Build.Framework.ILogger 接口即可,代码实现如下: public sealed class JsonErrorLogger : ILogger { private const string ErrorLogFileName = "json-error-logger.json" ; private static readonly JsonSerializerOptions JsonSerializerOptions = new () {
………………………………