-1

StackOverflow上 已经 存在 “没有用于选择的属性页”的问题,但我遇到了一个新版本。

就我而言,在 Git 合并后,14 个项目中只有一个项目出现“没有可供选择的属性页”错误。关联的 .vcproj 文件没有显示明显的错误。

4

1 回答 1

0

.vcproj 旁边是一个附加文件 .vcproj.filters。这控制解决方案资源管理器的布局。它的结构类似于这样:

<ClCompile Include="A.cpp">
  <Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="B.cpp">
  <Filter>Source Files</Filter>
</ClCompile>

这里的问题是,如果两个 Git 提交每个都添加这些文件之一。Git Merge 不理解 XML,并将合并(相同的)关闭标签。这给你留下了两个<ClCompile>标签,只有一个</ClCompile>

解决方法是卸载项目、Open With>XML editor.filters 文件,然后找到丢失的</ClCompile>.

向 Microsoft 提出 PS 功能请求

详细一点,使用<ClCompile Include="B.cpp" Filter="Source Files" />. 属性不应该是子属性,有限域Filter明确表明这是一个属性。作为单线,这是合并安全的。

于 2018-07-27T16:07:58.617 回答