MSBuild有一个类似于lint的工具吗?

时间:2012-09-09 16:42:47

标签: visual-studio-2010 msbuild msbuild-4.0

我刚刚了解到Visual Studio 2010和MSBuild在处理成功执行哪些vcxproj MSBuild文件时非常宽松 - 他们会忽略子任务和单个文件的缺失配置,并且仍能成功执行构建任务。但是这给我带来了问题,因为它导致多个配置的构建不一致,而且由于项目文件中的内部不一致,我无法在Visual Studio的属性视图中编辑它们。

到目前为止,我已经设法通过手动编辑vcxproj文件来摆脱最有问题的不一致性,但鉴于此特定解决方案包含超过80个项目文件,这不是一个真正可接受的策略。

是否有一个工具可以检查MSBuild文件的内部一致性并突出显示缺少的配置“你的项目文件说它提供配置X,Y和Z但是文件X的自定义构建任务仅支持配置X和Z“?

更新:我正在尝试解决的具体问题现在,而不是更常见的lc the vcxproj文件问题是某些配置缺少条件的问题。不幸的是,添加和更新条件似乎需要比使用查找和替换工具安全完成的更多。以编程方式正确地执行它很可能需要DOM操作,并且鉴于我对构建文件的内部结构非常熟悉,到目前为止,使用能够进行基本结构XML验证的文本编辑器似乎是最快的方法。手头的任务。

我真的希望看到的是一个工具,它至少可以自动突出显示这些问题,以减少跟踪它们的时间。

1 个答案:

答案 0 :(得分:1)

配置通常是VS概念。它们不是内置于MSBuild,而是使用属性组上的条件属性实现的。您的项目文件很可能是有效的MSBuild项目,但其中一些不是使用默认参数构建的 - 我建议不要手动编辑它们,但要么

没有什么可以为你表现的,我很害怕。