在MSBuild任务中,如何访问构建生成的所有警告?

时间:2017-05-04 18:54:55

标签: msbuild msbuild-task msbuild-target

我的总体目标是在解决方案构建结束时阅读所有警告,然后将其记录为错误。这与TreatWarningsAsErrors设置不同,因为这也应该为具有这些警告的项目创建二进制文件。

我希望通过自定义MSBuild任务解决这个问题,但我不知道从.targets文件传递它需要什么。

编辑:我认为这不是this question的副本,因为它解析了某个字符串的日志,并为该特定代码发出错误。我想获得构建中所有警告的列表,无论其内容如何。

1 个答案:

答案 0 :(得分:0)

您无法从任务中获取构建警告,因为它根本无法访问此信息。警告被引发并发送到MS Build日志记录基础结构并在那里处理,这完全脱离了任务执行。

但是,您可以编写自定义记录器来跟踪构建发出的警告。 使用自定义记录器,每当引发警告事件时,只需记录它,然后在构建完成时,您可以使用该信息执行任何操作。

有关如何编写自定义记录器的信息,请参阅文档herehere