我需要一种在构建过程中发送构建事件/进度的方法。
我所拥有的只是:
var proj = Microsoft.Build.Evaluation.Project(csprojDir);
var consoleLogger = new Microsoft.Build.Logging.ConsoleLogger();
proj.Build(consoleLogger);但我无法找到处理事件的方法(例如,接收事件的任何类型的Action或委托)。
知道怎么抓到那些吗?
发布于 2022-11-05 23:43:56
编写自己的自定义记录器,并将记录器的一个实例传递给Build方法。有很多Build可以接受IEnumerable<ILogger>,这样您就可以同时传递consoleLogger和自定义记录器。
ILogger定义了一个Initialize(IEventSource)方法。IEventSource有您可能正在寻找的事件。
在IEventSource Interface和ILogger Interface文档中都有示例代码(相同的示例)。
https://stackoverflow.com/questions/74155020
复制相似问题