Comment remettre ma solution dans Visual Studio en ligne dans TFS?

243

J'ai eu ma solution dans Visual Studio 2012 (qui est sous contrôle de source TFS) ouverte et le serveur TFS (2010) était en panne. Lorsque j'ai ensuite modifié l'un des fichiers et tenté de l'enregistrer, j'ai été invité à demander si je voulais écraser le fichier en disant que le serveur TFS était en panne (je ne me souviens pas des mots exacts) et le message suivant est apparu dans la fenêtre Sortie:

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

Comment puis-je faire en sorte que la modification de fichier soit reconnue comme faisant partie des modifications en attente et que l'ensemble de la solution soit de nouveau en ligne?

Appulus
la source

Réponses:

505

J'ai cherché la solution en ligne et j'ai trouvé cette solution, mais je n'étais pas trop intéressé par le changement de registre.

J'ai trouvé une meilleure solution: faites un clic droit sur le nom de la solution en haut de l'Explorateur de solutions et sélectionnez l' option Aller en ligne . Cliquer dessus m'a permis de sélectionner les fichiers qui avaient été modifiés lorsque j'étais hors ligne et de remettre la solution en ligne.

Après avoir trouvé la solution, j'ai trouvé le fil de discussion msdn suivant qui a confirmé ce qui précède.

Appulus
la source
1
A travaillé pour moi. Je vous remercie.
Bijimon
2
A travaillé pour moi, merci beaucoup. Ce serait bizarre d'entrer dans le registre pour ça.
Nick N.
J'avais vraiment besoin de ça aujourd'hui. Merci d'avoir répondu. Fonctionne très bien.
Tony Abrams
2
Pourquoi cela n'apparaît-il pas en premier? J'ai failli manquer cette réponse. :(
Adrian
4
C'est la meilleure réponse et fonctionne également dans Visual Studio 2017. Pas besoin de modifier le registre.
Wayland Young
9

Renommez le fichier .SUO correspondant de la solution. Le fichier SUO contient l'état TFS (en ligne / hors ligne), parmi une foule d'autres goodies.

Ne faites cela que si le "clic droit sur le nom de la solution en haut de l'Explorateur de solutions et sélectionnez l'option Aller en ligne" échoue (car par exemple, vous avez installé l'aperçu VS2015).

Wolfgang Grinfeld
la source
8

Accédez à File > Source Control > Go Online, sélectionnez les fichiers que vous avez modifiés et terminez le processus.

Hadagalberto Junior
la source
6

(Étape supplémentaire de la solution ci-dessus pour savoir si la valeur de Registre AutoReconnect ou Offline vous manque)

Pour Visual Studio 2015, version 14

  1. Désactivez toutes les instances VS
  2. HKEY_CURRENT_USER \ SOFTWARE \ Microsoft \ VisualStudio \ 14.0 \ TeamFoundation \ Instances {YourServerName} \ Collections {TheCollectionName} (Pour accéder à ce répertoire sous Windows, appuyez sur la touche Windows + R et recherchez "regedit")
  3. Définissez les valeurs Offline et AutoReconnect sur 0.
  4. Si l'un de ces attributs vous manque (dans mon cas, il me manquait AutoReconnect), faites un clic droit et créez une nouvelle valeur DWORD (32 bits) avec le nom manquant souhaité, AutoReconnect ou Offline.
  5. Encore une fois, assurez-vous que les deux valeurs sont définies sur zéro.
  6. Redémarrez votre solution

Informations supplémentaires: blog MSDN - Quand et comment ma solution est-elle déconnectée?

Ariella
la source
3

J'utilise Visual Studio 2017 15.4.0 Version. Surtout quand j'ai commencé à utiliser l'option de solution légère, cette chose hors ligne m'est arrivée. J'ai essayé ci-dessus des solutions qui sont:

  1. J'ai essayé de regedit l'option mais je ne vois pas les options de menu appropriées. Ça n'a pas marché.
  2. Cliquez avec le bouton droit sur la solution, il y a l'option Aller en ligne et lorsque je la choisis, cela donne ce message d'erreur: "La solution est hors ligne car son Team Foundation Server associé est hors ligne. Impossible de déterminer l'espace de travail pour cette solution."

Puis depuis Fichier -> Contrôle de source -> Avancé -> Changer le contrôle de source . J'ai vu mes fichiers. Je les sélectionne puis choisis l'option de liaison. Cela a fonctionné pour moi.

çetin çelik
la source
2

Vous pouvez utiliser l'éditeur de registre.

  1. Désactivez toutes les instances VS.
  2. Ouvrez l'éditeur de registre et accédez à: HKEY_CURRENT_USER \ Software \ Microsoft \ VisualStudio \ 11.0 \ TeamFoundation \ Instances
  3. Trouver le serveur approprié, par exemple: team32system1
  4. Accédez à Collection et nex DefaultCollection: HKEY_CURRENT_USER \ Software \ Microsoft \ VisualStudio \ 11.0 \ TeamFoundation \ Instances \ team32system1 \ Collections \ DefaultCollection
  5. Réglez la clé hors ligne sur 0
  6. Solution ouverte dans VS. Ensuite, une question devrait apparaître: quelle question souhaiteriez-vous apporter au mode en ligne?
user3683748
la source
stackoverflow.com/questions/261525/… Je préfère la page suivante à cette solution;). Bon à rebind tous les csproj
Nordes
1

Aucune des solutions ci-dessus n'a fonctionné pour moi sur Visual Studio Community 2017 v15.7.1. D'une manière ou d'une autre, il n'y avait pas d'option "Aller en ligne" dans le menu contextuel. J'ai essayé de modifier le registre comme suggéré ici, mais cela ne m'a montré qu'une erreur qui n'a pas pu trouver la liaison. Ce qui a fonctionné pour moi, c'est de relier la solution au serveur à partir du menu Change Source Control.

Accédez à File->Source Control->Advanced->Change Source Controlet assurez-vous que votre solution est liée à votre contrôle de code source. Si ce n'est pas le cas (comme le mien), cliquez sur le bouton de liaison, il recherchera automatiquement le serveur TFS en ligne et y reliera votre solution.

Saad
la source
0

j'ai trouvé un autre moyen sans trop d'effort.

Cliquez simplement avec le bouton droit sur votre solution, puis cliquez sur Annuler les modifications en attente.

Ensuite, VS vous demandera un fichier modifié à l'endroit où vous souhaitez annuler ou un fichier non spécifique.

En cela, vous pouvez cliquer sur non pour un tel fichier où le changement réel est heureux, le reste est juste en train de se défaire. Cela ne perdra pas vos modifications réelles

Jay Magwadiya
la source
0

Vous devrez faire deux étapes ici pour une solution complète

Cliquez d'abord sur la solution que vous avez ouverte, puis allez sur Fichier-> Contrôle de source -> Aller en ligne, puis décochez tous les fichiers qui sont affichés comme étant modifiés pendant que vous étiez hors ligne.

Ne faites pas la dernière version de Get from Source Control Explorer. Cela se traduira par une boîte de dialogue affichant potentiellement un tas de fichiers vous demandant de résoudre les conflits. Au lieu de cela,

Dans l'explorateur de contrôle de source, cliquez avec le bouton droit sur le dossier dont vous souhaitez obtenir la dernière version, puis sur Avancé - Obtenir une version spécifique. Dans la liste déroulante pour le type de version, choisissez Dernier, puis cochez la première case qui indique Remplacer les fichiers inscriptibles qui ne sont pas extraits. Cela synchronisera automatiquement votre dossier avec les derniers sur le serveur

Abhijit Vyas
la source