web-dev-qa-db-ja.com

TFSサーバーから取得したプロジェクトを読み込むときに、エラーメッセージ「このプロジェクトをソース管理に登録中にエラーが発生しました」を解決するにはどうすればよいですか?

完全なエラーメッセージは次のとおりです。

"プロジェクト 'my.project.name'はソース管理下にあります。このプロジェクトをソース管理に登録するときにエラーが発生しました。このプロジェクトに変更を加えないことをお勧めします。"

エラーメッセージを表示せず、csprojファイルを開いてプロジェクトを正しくロードし、「scc」で始まる名前のノードをすべて削除できるようです。ただし、ソリューションのソース管理設定を使用することを確認する必要があります。ソリューションを開くたびに。

助言がありますか?

32
Joda

他の誰かが同じ問題を抱えている場合:プロジェクトのバックアップを取り、ソリューションからプロジェクトを削除し、ソリューションなしでソリューションをソース管理にチェックインしてから、プロジェクトを再度追加することで解決しました。

幸いなことに、これは新しい小さなプロジェクトであり、歴史はほとんどありません-大きな古いプロジェクトでこれを行う必要はありません...

もしあなたがどこにいるのなら、私はおそらくtbergstedtの提案を最初に試すでしょう。

0
Joda

プロジェクトの* .csprojファイルを開いて、次のタグを置き換えてください:

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

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

ソリューションを閉じ、VSを閉じ、VSを再度開くと、問題が解決します。

82
M.Mohammadi

問題は*.csproj.userにあり、*.csproj.vspsccを使用したソース管理がある場合(VS2012)。両方を削除し、ソリューションを閉じ、VSを閉じ、実行者(できれば管理者)を使用してVSを再度開くと、問題ないはずです。

6
bleepzter

.csprojファイル内の以前のソース管理バインディングを削除してから、File-> Source Control-> Change Source Control ...を使用して(再)バインドします

4

VS2012では、ツール->オプション->ソース管理->プラグインセクション。現在のソース管理プラグインを変更します。

プロジェクトをMercurialからGiTに移動した後、同じ問題が発生しました。 「現在のソース管理プラグイン」をMercucialからVisualHGに変更します(これは拡張機能からインストールする必要があるため、最初はこのオプションがありません)。

4
Kambey

他の誰かがソリューションにプロジェクトを追加したときに問題が発生し、最新のソリューションを入手しました。 Visual Studioを再起動するだけでした。

1
Thomas Koelle

ソース管理に他のツールを使用している場合に備えて。 GitとMercurialのソースツリーでは、VSで現在のソース管理プラグインを[なし]に設定するだけです。

VS2015では、ツール->オプション->ソース管理->プラグインセクション。現在のソース管理プラグインを[なし]に変更します。

0
kmwtnarendra

上記のいずれもうまくいかず、他のプロジェクトでは問題のないライブラリに問題があったため、個々のプロジェクトではなくソリューションの問題であると考えるのは合理的でした。

私のために働いたのは、メモ帳でソリューションファイル(.sln)を開くことです(安全のために最初にバックアップを取ります)。また、セクションがある場合:

GlobalSection(SourceCodeControl) = preSolution
 ...
EndGlobalSection

次にそれを削除し、ソリューションを保存して再度開きます。私のために修正された問題。

0
Brian Cryer