1

在 C++/CLi 项目中,我们使用过滤器文件来组织文件结构,这非常有用。但是,当这个 vcxproj.filter 文件损坏(由于合并冲突导致的额外标记/损坏的 XML 无法正确解决。)时,它不会破坏构建。构建仍然成功。最终用户无法知道他们破坏了过滤器文件,除非他们手动查看项目中的文件夹结构。

解决此问题的最佳方法是什么?我们知道的一种方法是对文件进行单元测试并检查 XML 是否正确?但这是一个开销,因为我们不想将 XML 加载到内存中。它还增加了 teamcity 的构建时间,因为我们有 10 多个项目。我想知道是否有人知道解决这个问题的更好方法。

4

1 回答 1

0

如果 XML 模式定义可用,您可以将 XML 验证作为预构建事件运行。

命令行 XML 验证器应该广泛可用,例如 Xerces-C。

于 2017-12-29T18:38:53.267 回答