Visual StudioのソリューションをTFSでオンラインに戻すにはどうすればよいですか?


242

Visual Studio 2012(TFSソース管理下にあります)でソリューションを開いており、TFSサーバー(2010)がダウンしていました。次に、ファイルの1つに変更を加えて保存しようとすると、TFSサーバーがダウンしている(正確な単語を思い出せない)というファイルを上書きするかどうかを尋ねるプロンプトが表示され、次のメッセージが表示されました出力ウィンドウ:

This solution is offline.  [Team Foundation Server: http://tfs1:8080/tfs/server]
The solution was offline during its previous session and will remain offline.

ファイルの変更を保留中の変更として認識し、ソリューション全体をオンラインに戻すにはどうすればよいですか?

回答:


504

オンラインでソリューションを検索したところ、このソリューションが見つかりましたはたが、レジストリの変更にはあまり熱心ではありませんでした。

より良い方法を見つけました。ソリューションエクスプローラーの上部にあるソリューション名を右クリックし、[ オンラインにする ]オプションを選択します。これをクリックすると、オフラインのときに変更されたファイルを選択して、ソリューションを再びオンラインにすることができました。

解決策を見つけた後、私は上記を確認する次のmsdnフォーラムスレッドを見つけました。


1
私のために働いた。ありがとうございました。
Bijimon 2013年

2
私のために働いた、本当にありがとう。このためにレジストリに入るのはおかしいでしょう。
NickN。

今日は本当に必要でした。答えてくれてありがとう。うまくいきました。
Tony Abrams 2013年

2
これが最初に表示されないのはなぜですか。私はほとんどこの答えを逃しました。:(
エイドリアン

4
これが最良の答えであり、Visual Studio 2017でも機能します。レジストリを編集する必要はありません。
ウェイランドヤング

9

ソリューションの対応する.SUOファイルの名前を変更します。SUOファイルには、TFSステータス(オンライン/オフライン)が含まれています。

これは、「ソリューションエクスプローラーの上部にあるソリューション名を右クリックして[オンラインにする]オプションを選択する」に失敗した場合にのみ実行してください(たとえば、VS2015プレビューをインストールしたため)。



6

(AutoReconnectまたはOfflineレジストリ値が欠落している場合の上記のソリューションからの追加手順)

Visual Studio 2015、バージョン14の場合

  1. すべてのVSインスタンスをオフにする
  2. HKEY_CURRENT_USER \ SOFTWARE \ Microsoft \ VisualStudio \ 14.0 \ TeamFoundation \ Instances {YourServerName} \ Collections {TheCollectionName}(Windowsでこのディレクトリに移動するには、Windows + Rキーを押して「regedit」を検索します)
  3. OfflineとAutoReconnectの両方の値を0に設定します。
  4. これらの属性の1つが欠落している場合(私の場合はAutoReconnectが欠落していた)、右クリックして、目的の欠落している名前(AutoReconnectまたはOffline)で新しいDWORD(32ビット)値を作成します。
  5. この場合も、両方の値がゼロに設定されていることを確認してください。
  6. ソリューションを再起動します

追加情報: ブログMSDN-ソリューションはいつ、どのようにオフラインになりますか?


3

私が使用していますのVisual Studio 2017 15.4.0バージョンを。特に軽量ソリューションオプションを使い始めたとき、このオフラインのことが起こりました。私は上記の解決策を試しました:

  1. regeditオプションを試しましたが、適切なメニューオプションが表示されません。うまくいきませんでした。
  2. ソリューションを右クリックすると、オンラインオプションが表示され、それを選択すると、「関連するTeam Foundation Serverがオフラインであるため、ソリューションはオフラインです。このソリューションのワークスペースを特定できません。」

次に、ファイル->ソース管理->詳細設定->ソース管理の変更から。ファイルを見ました。それらを選択してから、バインドオプションを選択しました。それでうまくいきました。


2

レジストリエディタを使用できます。

  1. すべてのVSインスタンスをオフにします。
  2. レジストリエディターを開き、次の場所に移動します:HKEY_CURRENT_USER \ Software \ Microsoft \ VisualStudio \ 11.0 \ TeamFoundation \ Instances
  3. 適切なサーバーを見つけます。例:team32system1
  4. コレクションに移動し、DefaultCollectionを結びます:HKEY_CURRENT_USER \ Software \ Microsoft \ VisualStudio \ 11.0 \ TeamFoundation \ Instances \ team32system1 \ Collections \ DefaultCollection
  5. オフラインキーを0に設定
  6. VSでソリューションを開きます。その後、ポップアップが表示され、ソリューションをオンラインモードにする質問が表示されます。

stackoverflow.com/questions/261525/…私はそのソリューションよりも次のページを優先しています;)。すべてのcsprojを再バインドするのに適しています
Nordes

1

上記のソリューションはどちらも、Visual Studio Community 2017 v15.7.1では機能しませんでした。どういうわけか、コンテキストメニューに[オンラインにする]オプションがありませんでした。ここで提案されているようにレジストリ編集を試みましたが、バインディングが見つからないというエラーが表示されました。私にとってうまくいったのは、ソース管理の変更メニューからサーバーにソリューションを再バインドすることです。

に移動しFile->Source Control->Advanced->Change Source Control、ソリューションがソース管理にバインドされていることを確認します。ない場合(私のように)バインドボタンをクリックすると、オンラインTFSサーバーが自動的に検索され、ソリューションがサーバーに再バインドされます。


0

努力せずに別の方法を見つけました。

ソリューションを右クリックし、[保留中の変更を元に戻す]をクリックするだけです。

次に、VSは、元に戻す、または特定のファイルではない、実際に変更されたファイルを要求します。

この場合、実際の変更が行われるようなファイルに対しては[いいえ]をクリックできます。残りは元に戻すだけです。これにより実際の変更が失われることはありません


0

完全なソリューションを得るには、ここで2つのステップを実行する必要があります

まず、開いているソリューションをクリックし、[ファイル]-> [ソース管理]-> [オンラインにする]をクリックします。次に、オフライン中に変更されたものとして表示されているすべてのファイルのチェックを外します。

ソース管理エクスプローラーから最新バージョンを取得しないでください。これにより、競合を解決するように要求する一連のファイルがダイアログに表示される可能性があります。代わりにこれを行う

ソースコントロールエクスプローラーで、最新の情報を取得するフォルダーを右クリックし、[詳細設定-特定のバージョンを取得]をクリックします。バージョンタイプのドロップダウンで[最新]を選択し、チェックアウトされていない書き込み可能なファイルを上書きするという最初のチェックボックスを選択します。これにより、フォルダーがサーバー上の最新のファイルと自動的に同期します

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.