最近IDEをアップグレードしましたが、コンパイラをVS2010からVS2012にアップグレードしておらず、ソリューションの1つで問題が発生しています。ビルドしようとすると、メッセージが表示されます。
プロジェクトファイルの名前が変更されたか、ソリューションに含まれなくなった
そして、個々のプロジェクトをビルドしようとすると、以下のメッセージが表示されます
ビルドはすでに進行中です
すべてのプロジェクトを削除して再追加しようとしましたが、それは役に立ちません。同じプロジェクトでまったく新しいソリューションを作成しましたが、ビルドしようとすると、元のソリューションと同じエラーが発生しました。
多くの人がこれと同様の問題を抱えていることを読みましたが、これまでのところ彼らの解決策は私を助けてくれませんでした。
提案の1つは、不足している参照があるプロジェクトがあるかどうかを確認することでしたが、それを実行する方法が完全にはわかりません。
参照を削除して再追加しようとしましたが、それらを再追加しようとするたびに、「プロジェクトファイル ''の名前が変更されたか、ソリューションに含まれていません」という同じエラーが表示されました
どんな助けや提案も素晴らしいでしょう!
私も同じ問題を抱えていましたが、他のプロジェクトから参照されるすべてのプロジェクトがソリューションに含まれるようにすることで解決しました。
最初のプロジェクトを右クリックし、「参照...」を選択して、「参照」の下にリストされているすべてのプロジェクトが含まれていることを確認します。次に進み、同じことを行います。
「プロジェクトファイル ''の名前が変更されたか、ソリューションに含まれなくなった」という問題を解決しました。 「ビルドはすでに進行中です」の問題についてはわかりません。
The_mantrillのシナリオを確認できます。 (これはコメントに収まらないため、回答として投稿します。)
私のソリューションでは、プロジェクトAはプロジェクトBを参照します。何らかの理由で、プロジェクトBのプロジェクトGUID=が変更されました。これは起こる可能性があることを知っています。ソリューションファイルには、プロジェクトBの正しい新しいGUIDがありましたが、プロジェクトAのプロジェクトファイルでは、プロジェクトBへの参照にはまだ古いGUIDがありました。
ソリューションエクスプローラーでプロジェクトをアンロードおよび再ロードすると、プロジェクトAが「プロジェクトファイル ''の名前が変更されたか、ソリューションに含まれなくなりました。」が見つかると、プロジェクトBの手動更新= GUIDプロジェクトAのプロジェクトファイルで問題を修正しました。
詳細:
ProjectB.vcxproj
<PropertyGroup Label="Globals">
<Keyword>Win32Proj</Keyword>
<ProjectGuid>{9CF2493A-0C79-88E7-12ED-7DFAEBA8535B}</ProjectGuid>
</PropertyGroup>
過去のある時点で、ProjectBのProjectGuidは{d6f1934a-905f-77ca-49c0-164b2171a0f6}
。雪が降る {9CF2493A-0C79-88E7-12ED-7DFAEBA8535B}
。
ProjectA.vcxproj –以前、「プロジェクトファイル ''は名前が変更されているか、ソリューションに含まれていません。 "
<ItemGroup>
<ProjectReference Include="..\ProjectB\ProjectB.vcxproj">
<Project>{d6f1934a-905f-77ca-49c0-164b2171a0f6}</Project>
</ProjectReference>
:
</ItemGroup>
ProjectA.vcxproj –手動編集後、動作するようになりました:
<ItemGroup>
<ProjectReference Include="..\ProjectB\ProjectB.vcxproj">
<Project>{9CF2493A-0C79-88E7-12ED-7DFAEBA8535B}</Project>
</ProjectReference>
:
</ItemGroup>
vSOからオンサイトTFSに移動した後にいくつかの問題が発生した後、.suoを削除してリロードが機能しました
この問題は、製品ごとに2つのソリューションファイルがあり、複数のプロジェクトが共通していた場合に発生したようです。これらは、VS2012で初めて開いたVS2010プロジェクトでした。最初のプロジェクトを開くと、すべてのプロジェクトが変換されました。プロジェクトの一部がすでに変換されていたため、2番目のプロジェクトをロードするときに問題が発生しました。最初のソリューションでプロジェクト参照が更新されたように見えましたが、2番目のソリューションでは、いくつかのプロジェクトの更新を処理する必要がありましたが、共通プロジェクトの既に更新されたバージョンを使用していました。
最後に、それを解決するために、いくつかのプロジェクト(およびプロジェクト参照)を削除してから追加し直す必要がありました。また、一部のファイルの状態がプロジェクト参照の問題に影響したため、ビルドフォルダーとその他の一時ファイル(.suoなど)を削除する価値があります(実際には予期していなかった)。
この問題は通常、プロジェクトバージョンコンバーターが原因で発生します。
問題は、ソリューション内のプロジェクトへの参照プロジェクトがソリューション内にないことです(私が言ったように、原因は変換または手動削除)。
そのため、すべてのプロジェクト参照を参照する必要がありました(Right click on the project -> "References..."
)およびすべての参照プロジェクトがソリューションに存在することを確認します-そうでない場合は、不足しているプロジェクトをソリューションに追加するか、無効な修飾子を削除します。
このawnserは既存のawnserに基づいています: https://stackoverflow.com/a/14722733/110702
一度だけ、最初は、「そこにあるすべての参照を確認する」という対策が成功したとは思わなかった。
最後に、すべてのプロジェクト、特にソリューションIのWebプロジェクトをチェックしようとします。真剣に利用できません。私は参照と出来上がりを削除します、それは動作します!
プロジェクトを別のフォルダーにコピーして再度開くと問題が解決します最後に、以下の方法で問題を解決しました。1.プロジェクトを右クリック2.参照オプションを開きます3.ページで参照プロジェクトを削除します
ソリューション内のすべてのプロジェクトファイル(* .vcxproj)に一致するGUIDが定義されていることを確認してください。
<PropertyGroup Label="Globals">
<ProjectGuid>{B4D8DE30-8DCC-85FC-ABFE-3ED6S9F873C0}</ProjectGuid>
</PropertyGroup>
VS2008から変換されたプロジェクトにはいくつかの奇妙な理由があり、VS2010はすべてのプロジェクトを置き換えることを主張しました 'GUID(solution fileソリューションをロードするたびに、ただし、実際にプロジェクトファイルを追加したことはありません。
同じ症状がありましたが、原因が非常に異なっていたため、解決しました。
VS 2003 => 2005> => 2008 => 2010 => 2012からの移行では、その最後のステップで何らかの形でResources.resxファイルが消えました。したがって、メッセージ
「プロジェクトファイル ''の名前が変更されたか、ソリューションに含まれていません。」
私にとっては、「Projectファイル」ではなく、「Project'sファイル」。 (そして、文法は重要ではないと言う人もいます。)
不足しているResources.resxファイルを追跡しましたが、すべてうまくいきました。