回答:
35プロジェクトのVS2010ソリューションで同様の問題を修正しました...原因は重複していた
GlobalSection(TeamFoundationVersionControl)
ソリューションファイルのセクション。ソリューションを閉じ、重複するGlobalSection(TeamFoundationVersionControl)構成を削除し、ソリューションをリロードしましたが、警告メッセージは表示されませんでした。
これが問題ではない場合、プロジェクトが2つしかないので、バストソリューションファイルを破棄し、新しいソリューションを作成して、2つのプロジェクトを再度追加します...
最善の解決策は、コンフィグを再生成するためにVSを強制することです。これをする:
The following property is missing or has incorrect value: SccLocalPath63
そして The following property is missing or has incorrect value: SccLocalPath64
44プロジェクトでVS2012の同様の問題を修正しました。
原因は、重複したGlobalSection(TeamFoundationVersionControl)
セクションの組み合わせ(la Boycsの回答)でしたがGlobalSection(TeamFoundationVersionControl)
、私が保持しているセクション内に、いくつかのプロジェクトが重複していて、最近削除されたプロジェクトへの参照もいくつかありました。
参照されているすべてのプロジェクトが実際のプロジェクトと1対1で対応していることを確認したら、警告は消えました。
余談:これらの問題の大部分は、ブランチとコミットのマージ中に.slnに細心の注意を払うことで回避できたのではないかと思いますが、VSが時々考えていることを誰が知っているのか...
上記のエラーが多数ありました。プロジェクトの名前を変更し、閉じて保存し、再度開いて名前を元に戻しました。これにより.slnファイルが再作成され、私の場合は余分なアイテムがすべて削除されました。
.sln
エラーを探すのに迷惑をかけないでください。
Boycsのリードに従うことにより、VS2012で同じエラーメッセージを解決しました。私にとって、問題はGlobalSection(SolutionConfigurationPlatforms) = preSolution
SLNファイルの下部にある2つの無関係なブロックでした。
他の回答はすでに問題を修正する方法を説明しています。多分私は問題を再び起こさないように助けることができます:
問題 の解決方法新しいプロジェクトを追加すると、ソリューションファイルが混乱しましたが、別の開発者も新しいプロジェクトを追加して彼の変更をコミットしました(ローカルシステムにはありませんでした)。変更をコミットし始めたとき、.slnファイルをマージする必要がありました。
私が学んだこと
ソリューションファイルのマージはひどいです。プロジェクトを追加する場合は、次のようにします。1.最新バージョンを取得します2.プロジェクトを追加します3.コミットします
保留中の変更の下にソリューションファイルが表示されているのに、比較モードで変更が表示されない場合は、[すべて保存]をクリックする必要があります。新しいプロジェクトを追加する一方で、VisualStudioはソリューションも変更しました。ただし、これは現時点では未保存の変更です。
vs2012で同様の問題を修正しました。
私の場合、問題は、MySolutionName.slnファイルのGlobalSection内のSccProjectName0プロパティ値が空であったことでした。
私はSccProjectName0値を別のソリューションからのこの文字列値のコピーで設定し、文字列内のプロジェクトの名前を現在の名前に置き換えることによって解決しました(BTW-プロジェクト名がその中にスペースとして含まれている場合( '')、それは「\ u0020」に置き換えてください)。
*
私の場合、このソリューションがVSSによって制御されていたときと同じソリューションの古いMySolutionName.slnファイルを使用して、TFSによって制御されているソリューションを誤って開いた後に問題が発生します。
考えられる解決策をもう1つ追加できます。疑わしいマージでは、SccNumberOfProjectsが正しいにもかかわらず、GlobalSection(TeamFoundationVersionControl)セクション内のSccProjectUniqueName / SccProjectName / SccLocalPathスタンザの1つに一意ではない番号が含まれていました。番号付けを修正し、エラーメッセージが消えました。