2013-08-27 114 views
18

私は非常に厄介な問題を抱えていましたが、解決策を見つけましたが、なぜプロジェクトファイルの<SccProjectName>が見つからないのですか? "プロジェクトファイルがソース管理にバインドされていません"

私はTFS 2012でVisual Studio 2012を使用しています。すべて問題はありませんでしたが、ある日私は問題を発見しました。

このプロジェクトファイル...はソース管理にはバインドされていませんが、解決策にはソースが含まれています。解決策を再開するたびにこのメッセージが表示されます。そのためのバインディング情報を制御します。あなたはしたいですか...

私は何をしても、私はまだこのメッセージを持っています。 File-> Source Control-> Advanced-> Change Source Control ...ウィンドウで、すべてのことがうまくいきました。 * .vspsccファイルは適切なコンテンツで適切に作成されます。私は拘束力を取り除いて何度も何度も追加していたが、役に立たなかった。いつも私はこの迷惑なメッセージを持っていた...

そして、私は* .csprojファイルに1つの違いを見つけました。私の問題のプロジェクトには、次のXMLデータがありませんでした:

<SccProjectName>SAK</SccProjectName> 
<SccLocalPath>SAK</SccLocalPath> 
<SccAuxPath>SAK</SccAuxPath> 
<SccProvider>SAK</SccProvider> 

私はこれらの行を追加したら、問題が

は、それらの要素がどこ行方不明、なぜ彼らなぜ私に言うことができる誰もがあります...解決しました解決策のバインディングについての迷惑なメッセージでこのような終わりのない問題を引き起こしますか?

は、ソリューションファイルがそれにソース管理情報を持っており、.csprojファイルがちょうどソリューションファイルがそれを告げるものを実施していきますので、あなたが

+0

ヒストリーを見ることができます(おそらく注釈付き履歴 - 「非難の報告」)、その行が削除された理由を見ることができます。私はそれらの行についてのあなたの質問を完全に理解しているかどうか分からない、プロジェクトがソース管理に縛られていることを示している。 (それがなければ、あなたは奇妙な設定をしているので、プロジェクトを開くまでプロジェクトを開くたびに修正するように促されます。) –

+1

プロジェクトをTFS2010以前からTFS2012にアップグレードすると、この問題に遭遇しました。 –

+2

問題は、誰かが* .csprojを編集してその行を削除したということではありません。私は新しいプロジェクトを追加していますが、そのすべてでそれらの行がありません。プロジェクトがTFSにバインドされているにもかかわらず、Visual Studioはそれらを追加していません。 – user2323704

答えて

28

これが起こるありがとうございます。

SAKは、ソリューションファイルから情報を取得するときに、「知っておくべきである」と言います。下に示されているもの ソリューションファイルは、のようなものが含まれている必要があり

GlobalSection(TeamFoundationVersionControl) = preSolution 
     SccNumberOfProjects = 4 
     SccEnterpriseProvider = {3BA58AB2-18FA-4F8D-95D4-32DDF27D184A} 
     SccTeamFoundationServer = http://TFSSERVER:8080/tfs/DPC 
     SccLocalPath0 = . 
     SccProjectUniqueName1 = Project1\\Project1.csproj 
     SccProjectName1 = Project1 
     SccLocalPath1 = Project1 
     SccProjectUniqueName2 = Project2\\Project2.csproj 
     SccProjectName2 = Project2 
     SccLocalPath2 = Project2 
     SccProjectUniqueName3 = Project3\\Project3.csproj 
     SccProjectName3 = Project3 
     SccLocalPath3 = Project3 
     SccProjectUniqueName4 = Project4\\Project4.csproj 
     SccProjectName4 = Project4 
     SccLocalPath4 = Project4 
    EndGlobalSection 

今最初のソリューションやプロジェクトをチェックインする人が含まれていない場合Solution.vsssccはその後、Visual Studioのファイルであることを起こることができる何ができます」ソースコントロールを決定する。この場合、vsssccファイルを削除して、ソリューションを閉じます。ソリューションを再度開くと、新しいvsssccファイルが作成され、ソース管理にチェックインされます。

プロジェクトを追加する際にもう一度確認することは、ソリューションファイルがチェックアウトされたことを確認して、プロジェクトをサブミットするときにもう一度チェックインすることです。

限り、ソリューションファイルとvsssccファイルがソース管理によって正しく処理されるよう新しいプロジェクトを追加するとき、それはソリューションファイルからソース管理の設定をピックアップして、新しいプロジェクトに

をSCCノードを適用する必要があります
関連する問題