¿Cómo obtengo mi solución en Visual Studio nuevamente en línea en TFS?


242

Tenía mi solución en Visual Studio 2012 (que está bajo control de fuente TFS) abierta y el servidor TFS (2010) estaba caído. Cuando hice un cambio en uno de los archivos e intenté guardarlo, recibí un mensaje que me preguntaba si quería sobrescribir el archivo que decía que el servidor TFS estaba inactivo (no recuerdo las palabras exactas) y el siguiente mensaje apareció en la ventana de salida:

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

¿Cómo consigo que el cambio de archivo sea reconocido como uno de los cambios pendientes y toda la solución de nuevo en línea?

Respuestas:


504

Busqué la solución en línea y encontré esta solución, pero no estaba muy interesado en el cambio de registro.

Encontré una mejor manera: haga clic derecho en el nombre de la solución en la parte superior del Explorador de soluciones y seleccione la opción Ir en línea . Hacer clic en esto me permitió seleccionar los archivos que habían cambiado cuando estaba desconectado y volver a poner la solución en línea.

Después de encontrar la solución, encontré el siguiente hilo del foro msdn que confirmó lo anterior.


1
Trabajó para mi. Gracias.
Bijimon

2
Trabajó para mí, muchas gracias. Sería extraño ingresar al registro para esto.
Nick N.

Realmente necesitaba esto hoy. Gracias por dar una respuesta. Funcionó muy bien.
Tony Abrams

2
¿Por qué esto no aparece primero? Casi me pierdo esta respuesta. :(
Adrian

44
Esta es la mejor respuesta y también funciona en Visual Studio 2017. No es necesario editar el registro.
Wayland Young

9

Cambie el nombre del archivo .SUO correspondiente de la solución. El archivo SUO contiene el estado TFS (en línea / fuera de línea), entre una gran cantidad de otras cosas.

Haga esto solo si falla el "clic derecho en el nombre de la solución en la parte superior del Explorador de soluciones y selecciona la opción Conectarse en línea" (porque, por ejemplo, instaló la vista previa de VS2015).


8

Vaya a File > Source Control > Go Online, seleccione los archivos que cambió y finalice el proceso.


6

(Paso adicional de la solución anterior para si le falta el valor de registro AutoReconnect o Offline)

Para Visual Studio 2015, versión 14

  1. Apague todas las instancias de VS
  2. HKEY_CURRENT_USER \ SOFTWARE \ Microsoft \ VisualStudio \ 14.0 \ TeamFoundation \ Instances {YourServerName} \ Collections {TheCollectionName} (Para acceder a este directorio en Windows, presione la tecla Windows + R y busque "regedit")
  3. Establezca los valores Offline y AutoReconnect en 0.
  4. Si le falta uno de esos atributos (en mi caso me faltaba AutoReconnect), haga clic derecho y cree un nuevo valor DWORD (32 bits) con el nombre que falta, AutoReconnect o Offline.
  5. Nuevamente, asegúrese de que ambos valores estén establecidos en cero.
  6. Reinicia tu solución

Información adicional: blog MSDN: ¿cuándo y cómo se desconecta mi solución?


3

Estoy usando la versión Visual Studio 2017 15.4.0 . Especialmente cuando comencé a usar la opción de solución liviana, esto me sucedió fuera de línea. Intenté las soluciones anteriores que son:

  1. Intenté con la opción regedit pero no puedo ver las opciones de menú apropiadas. No funcionó
  2. Haga clic con el botón derecho en la solución, hay una opción en línea y, cuando la elijo, aparece este mensaje de error: "La solución está fuera de línea porque su Team Foundation Server asociado está fuera de línea. No se puede determinar el espacio de trabajo para esta solución".

Luego, desde Archivo -> Control de fuente -> Avanzado -> Cambiar control de fuente . Vi mis archivos Los seleccioné y luego elegí la opción de vinculación. Eso funcionó para mí.


2

Puedes usar el editor de registro.

  1. Apague todas las instancias de VS.
  2. Abra el editor del registro y vaya a: HKEY_CURRENT_USER \ Software \ Microsoft \ VisualStudio \ 11.0 \ TeamFoundation \ Instances
  3. Encuentre el servidor adecuado, por ejemplo: team32system1
  4. Vaya a Collection y nex DefaultCollection: HKEY_CURRENT_USER \ Software \ Microsoft \ VisualStudio \ 11.0 \ TeamFoundation \ Instances \ team32system1 \ Collections \ DefaultCollection
  5. Establezca la clave sin conexión en 0
  6. Solución abierta en VS. Luego aparecerá una ventana emergente que pregunta le gustaría traer solución al modo en línea.

stackoverflow.com/questions/261525/… Prefiero la siguiente página que esa solución;). Es bueno volver a unir todos los csproj
Nordes

1

Ninguna de las soluciones anteriores funcionó para mí en Visual Studio Community 2017 v15.7.1. De alguna manera, no había la opción "Conectarse en línea" en el menú contextual. Intenté editar el registro como se sugiere aquí, pero eso solo me mostró un error que no pudo encontrar el enlace. Lo que funcionó para mí es volver a vincular la solución al servidor desde el menú Cambiar control de origen.

Vaya File->Source Control->Advanced->Change Source Controly asegúrese de que su solución esté vinculada a su control de origen. Si no (como el mío), haga clic en el botón de enlace, buscará automáticamente el servidor TFS en línea y volverá a vincular su solución.


0

Encontré otra forma sin mucho esfuerzo.

Simplemente haga clic derecho en su solución y luego haga clic en Deshacer cambios pendientes.

A continuación, VS le pedirá un archivo modificado radicalmente donde desea deshacer o no un archivo específico.

En esto, puede hacer clic en no para un archivo de este tipo donde el cambio real es casual, el resto es solo deshacer. Esto no perderá sus cambios reales


0

Deberá hacer dos pasos aquí para obtener una solución completa

Primero haga clic en la Solución que ha abierto y luego vaya a Archivo-> Control de origen -> Ir en línea. Luego, desmarque todos los archivos que se muestran como modificados mientras estaba desconectado.

No haga la última versión del Explorador de control de origen Eso dará como resultado un cuadro de diálogo que posiblemente muestre un montón de archivos pidiéndole que resuelva los conflictos. En cambio haz esto

En el Explorador de control de código fuente, haga clic con el botón derecho en la carpeta de la que desea obtener la última versión y luego Avanzado: obtenga una versión específica. En el menú desplegable para el tipo de versión, elija Último y luego seleccione la primera casilla de verificación que dice Sobrescribir archivos grabables que no están desprotegidos. Esto sincronizará automáticamente su carpeta con lo último en el servidor

Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.