有时在处理大型解决方案时,某些项目会丢失所有过滤器(而是变成一个巨大的文件列表(。检查.vcxproj.filters
文件时,它确实是无效的 XML。然后,我必须手动解决问题并重新加载项目。
但是,它不会在最后被切断 - 它实际上是中间缺少行,这使得它在写入文件时不太可能是意外中断。
这是它目前的样子:
<ClInclude Include="pluginsFileName1.h">
<Filter>plugins</Filter>
</ClInclude>
<ClInclude Include="utilsFileName2.h">
<Filter>utils</Filter>
<ClInclude Include="otherfolderFileName3.h">
<Filter>otherfolder</Filter>
</ClInclude>
请注意缺少FileName2.h
的结束标记。
是什么原因导致这种情况发生,将来如何避免?
使用合并工具时,无法将结束标记识别为需要添加的行,则会导致此问题。合并工具将行</ClInclude>
视为已存在于目标文件中,因此不会合并它。
既然您已经意识到了问题,我不确定除了更仔细的合并之外还有什么解决方法。