如何从自定义MSBuild任务将输出写入控制台?
时间:2020-03-06 15:02:19 来源:igfitidea点击:
我正在尝试调试MSBuild任务,并且我知道有一些方法可以从自定义任务中写入MSBuild日志,但我忘记了如何做。
解决方案
基本的Task类具有Log
属性,我们可以使用:
Log.LogMessage("My message");
为了进行单元测试,我将记录器包裹在一个帮助器类中
public static void Log(ITask task, string message, MessageImportance importance) { try { BuildMessageEventArgs args = new BuildMessageEventArgs(message, string.Empty, task.ToString(), importance); task.BuildEngine.LogMessageEvent(args); } catch (NullReferenceException) { // Don't throw as task and BuildEngine will be null in unit test. } }
如今,为了方便起见,我可能会将其转换为扩展方法。