23

Visual Studio 2010 の Reporting Services ソリューションで次のエラー メッセージが表示されます [ソース管理に TFS を使用しています]。

一部のプロジェクトに関するソリューションのソース管理情報と、プロジェクト ファイル内の情報との間に矛盾があるようです。

この不一致を解決するには、プロジェクト ファイルをチェックアウトして更新する必要があります。ただし、チェックアウトに失敗し、ソリューションを保存せずに閉じた場合は、次にソリューションを開いたときに、この警告が再び表示されます。

一部のプロジェクトのみがチェックアウトされますが、他のプロジェクトは問題ないようです。だからここに私が試したものがあります:

  1. 動作するプロジェクト ファイルと動作しないプロジェクト ファイルの違いを比較しようとしましたが、何も目を引くものはありませんでした。
  2. 私は周りを見回して、「ファイルを追加し、チェックインしてから削除してチェックインする」など、提案された解決策をいくつか試しました。運がない。
  3. プロジェクト ファイルで「Scc」タグを探してみましたが、何も見つかりません。また、正常に機能するプロジェクトでもそれらを見かけません。私のソリューションを見ると、Scc エントリは合理的に見えます。

ヘルプ!!私は何が欠けていますか?

4

3 に答える 3

29

Visual Studio を使用すると、ソリューションやプロジェクトのバインドを解除してバインドすることで、この問題を解決できます。これを試して:

  1. VSで問題の解決策を開きます(VS2013でこれを行いました)
  2. そのソリューション内のすべてのプロジェクトおよびソリューション自体に対するすべての保留中の変更を元に戻す
  3. [ファイル] -> [ソース管理] -> [詳細設定] -> [ソース管理の変更] に移動します
  4. 問題のあるプロジェクトを選択し、「アンバインド」をクリックします
  5. [OK] をクリックしてウィンドウを閉じます (これは重要です - [OK] をクリックしないと、ソリューションが適切に更新されません) 。
  6. [ファイル] -> [ソース管理] -> [詳細設定] -> [ソース管理の変更] に移動します
  7. #4 でバインドを解除したすべてのプロジェクトを選択し、[バインド] をクリックします。
  8. [OK] をクリックしてウィンドウを閉じます
  9. 変更をチェックイン
  10. ソリューションを閉じて再度開くと、すべてがうまくいくはずです
于 2014-04-16T20:22:31.667 に答える
10

Experienced the same problem in VS2015.

I found this workaround worked for me:

Change < Scc* > tag values to "SAK" (Should already know) in the project files:

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

https://connect.microsoft.com/VisualStudio/feedback/details/616751/discrepancy-between-the-solutions-source-control-information-about-some-project-s-and-the-information-in-the-project-file-s

Workaround #3

于 2016-03-08T11:16:22.007 に答える
0

私たちのチームには、VSS から TFS への変換を行っていた 1 人がいて、エラーは発生していませんでした。彼は自分のソリューションをチェックインしたことがなかったので、今まで見たことはありませんでした。私は彼のソリューション ファイルを調べましたが、違いがあります。「GlobalSection(TeamFoundationVersionControl) = preSolution」で、各プロジェクトの次の違いを見つけました。

TFS の NETReports.sln (上記のエラーが発生したファイル):

SccProjectUniqueName7 = EllinReports\\DiagnosticReports\\DiagnosticReports.rptproj
SccProjectName7 = EllinReports/DiagnosticReports
SccLocalPath7 = EllinReports\\DiagnosticReports

彼の NETReports.sln (上記のエラーが発生しないファイル):

SccProjectUniqueName7 = Reports\\DiagnosticReports\\DiagnosticReports.rptproj
SccProjectTopLevelParentUniqueName7 = NETReports.sln
SccProjectName7 = Reports/DiagnosticReports
SccAuxPath7 = http://<server>:8081/tfs/dev
SccLocalPath7 = Reports\\DiagnosticReports
SccProvider7 = {4CA58AB2-18FA-4F8D-95D4-32DDF27D184C}

今ではすべてが理にかなっていると思います。SccAuxPathXXX、SccProviderXXX、SccProjectTopLevelParentUniqueNameXXX がすべて欠落していました。それらを持つことで違いが生まれました。

于 2013-05-17T20:51:44.453 に答える