「選択対象のプロパティ ページがあり ません」という 既存の 質問が StackOverflow に既にありますが、新しいバージョンに出くわしました。
私の場合、Git マージ後、14 のプロジェクトのうち 1 つだけで「選択対象のプロパティ ページがありません」というエラーが発生しました。関連する .vcproj ファイルには明らかなエラーはありませんでした。
「選択対象のプロパティ ページがあり ません」という 既存の 質問が StackOverflow に既にありますが、新しいバージョンに出くわしました。
私の場合、Git マージ後、14 のプロジェクトのうち 1 つだけで「選択対象のプロパティ ページがありません」というエラーが発生しました。関連する .vcproj ファイルには明らかなエラーはありませんでした。
.vcproj の横には、追加のファイル .vcproj.filters があります。これにより、ソリューション エクスプローラーのレイアウトが制御されます。その構造は次のようになります。
<ClCompile Include="A.cpp">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="B.cpp">
<Filter>Source Files</Filter>
</ClCompile>
ここでの問題は、2 つの Git コミットがそれぞれこれらのファイルの 1 つを追加する場合です。Git Merge は XML を理解せず、(同一の) 終了タグをマージします。これにより、2 つの<ClCompile>
タグと 1 つだけが残ります</ClCompile>
。
修正は、プロジェクトとOpen With>XML editor
.filters ファイルをアンロードし、不足している .filter ファイルを見つけること</ClCompile>
です。
冗長に、を使用してください<ClCompile Include="B.cpp" Filter="Source Files" />
。属性は子であってはなりません。限定されたドメインによりFilter
、これが属性であることが明確になります。ワンライナーとして、これはマージセーフです。