【发布时间】:2014-08-01 17:08:03
【问题描述】:
是否可以影响 MSBuild 格式化和报告作为构建 C++ 项目的一部分运行的 CL.EXE 输出的准确方式?
从命令行和 Visual Studio 运行时它们实际上有所不同:
Command-line: file(line): error message [project]
Visual Studio: file(line): error message
这似乎是一个小细节,但是我真的非常需要在 Visual Studio 构建中显示 [项目],因为我正在触发先决条件的构建,并且不想将它们的错误与父项目的错误混为一谈.
我尝试伪造 $(BuildingInsideVisualStudio) 并观察正在传递给 MSBuild 的任何属性,但无济于事,并且无法将命令行错误消息样式导入 VS。强制它的一种方法是使用
感谢您的帮助。
【问题讨论】:
-
可能 VS 使用自定义记录器 - 不确定是否可以替换它
-
也让我得出这个结论。我希望有办法扩展它。
-
一种可能的“穷人”方法是启用日志记录到 VS 中的文件,然后在构建完成后调用自定义任务来解析日志文件并获取错误/项目构建开始事件,然后输出它们再次使用 LogError 但附加了项目信息
标签: c++ visual-studio visual-studio-2012 msbuild