¿Cómo puedo eliminar completamente los enlaces TFS?

238

Tengo una solución que contiene muchos proyectos,

Me gustaría eliminar completamente los enlaces de control de origen, ¿cómo puedo hacer esto?

Actualización: lo que realmente quiero hacer es mover una solución y sus proyectos de TFS 2005 -> 2008. Es por eso que estoy eliminando los enlaces, ¿hay una mejor manera de hacerlo?

Michael L
fuente
No creo que tenga que eliminar y volver a agregar los enlaces para actualizar a un TFS más nuevo. El cliente 2008 reemplaza completamente al cliente 2005 y funciona en VS 2005 y 2008 para servidores antiguos y nuevos.
Bert Huijben
2
Creé un complemento VSIX que elimina los enlaces TFS y comprime una copia de su solución (también elimina todos los archivos innecesarios). Ver visualstudiogallery.msdn.microsoft.com/...
RickAndMSFT
La carpeta de Modelos vacía se estropeó @ RickAnd-MSFT. Tuve que eliminarla y volver a crearla; de lo contrario, funciona muy bien. thx
Tom Stickel
@ RickAnd-MSFT que probablemente debería ser una respuesta
Chris Marisic

Respuestas:

268

Archivo -> Control de fuente -> Avanzado -> Cambiar control de fuente y luego desvincular y / o desconectar todos los proyectos y la solución.

Esto debería eliminar todos los enlaces de la solución y los archivos del proyecto. (Después de esto, puede cambiar el proveedor SCC en Herramientas -> Opciones -> Control de fuente -> Selección de complemento).

La especificación SCC prescribe que todos los proveedores de SCC deben implementar este comportamiento. (Solo lo probé para VSS, TFS y AnkhSVN)

Bert Huijben
fuente
44
+1, pero desafortunadamente esto todavía mantiene los elementos en los archivos del proyecto, así como también los archivos .vssscc. Sin embargo, el archivo de la solución se limpia. Usé VS 2010 Pro, siendo este el primer proyecto TFS que hemos usado.
James Skemp
24
Esto supone que puede conectarse al servidor TFS original.
ATL_DEV
2
Creé un complemento VSIX que elimina los enlaces TFS y comprime una copia de su solución (también elimina todos los archivos innecesarios). Ver visualstudiogallery.msdn.microsoft.com/...
RickAndMSFT
Mi espacio de trabajo TFS se ha eliminado debido a la inactividad (probablemente). Pero todavía pude eliminar los enlaces. Sin embargo, no funcionó la primera vez. La segunda vez que revisé todas las fijaciones todavía estaban allí. Sin embargo, la segunda vez desaté todo lo que funcionó.
DerpyNerd
152

No tengo el menú Archivo -> Control de fuente en Visual Studio porque nunca he usado TFS con esta instalación de Visual Studio.

Mi problema era que estaba abriendo una solución de Internet y el autor original se había olvidado de eliminar los enlaces de TFS, así que cada vez que abro la solución, aparece un mensaje emergente molesto que dice

"Go Offline

The Team Foundation Server http://some-other-guys-tfs-server/ 
is currently unavailable.

The solution will be opened offline."

Para deshacerme de esto, eliminé el .suo junto al archivo .sln, y luego abrí el archivo .sln en el Bloc de notas y eliminé toda esta sección:

GlobalSection(TeamFoundationVersionControl) = preSolution
    SccNumberOfProjects = 2
    SccEnterpriseProvider = {xxxxx}
    SccTeamFoundationServer = http://some-other-guys-tfs-server/
    SccLocalPath0 = .
    SccProjectUniqueName1 = xxDemo\\xxDemo.csproj
    SccProjectName1 = xxDemo
    SccLocalPath1 = xxDemo
EndGlobalSection

Guarde el .sln en el Bloc de notas y luego ábralo en Visual Studio, problema resuelto.

Actualización: Saveen Reddy ha creado una herramienta para hacer esto. Aunque no lo he probado.

Matt Frear
fuente
3
Eso fue todo, también tuve esta ventana emergente. Gracias. Pero si eliminé el archivo .suo y comencé VS perdí mi historial de archivos abiertos. Recuperé el archivo .suo, recuperé mis archivos abiertos. Así que solo necesitaba eliminar la sección.
ibram
Tenía un proyecto que estaba en VSS agregado a TFS, y VS seguía viendo a VSS como el proveedor de control de origen (a pesar de que eliminé los enlaces, lo cual es un problema por separado). Eliminar el código anterior en el proyecto y volver a vincular a TFS resolvió el problema.
333Mhz
Estaba teniendo problemas hasta que eliminé mi archivo .suo. Solo entonces me preguntó si quería eliminar permanentemente los enlaces de control de origen.
zacharydl
¿En este día y edad, tenemos que hacer esto para esta tarea simple y común? Microsoft debería pensar en la usabilidad ...
Damn Vegetables
1
Funcionó muy bien con VS 2015, solo se elimina la sección TFS en el archivo .sln
Tony Dong
41

La solución más simple sería abrir Visual Studio, desactivar el complemento TFS en Herramientas> Opciones> Control de origen y volver a abrir la solución que desea limpiar. Visual Studio solicitará eliminar enlaces de controles de origen

Johan Buret
fuente
1
También olvidé mencionar que esta es una solución VS 2008, y creo que su respuesta solo funciona con VS 2005.
Michael L
1
He probado muchas soluciones diferentes, pero esta parece ser la más simple y rápida (en Visual Studio 2012). ¡He trabajado hasta ahora en las soluciones que tengo!
olf
¡Increíble! Es rápido, simple, es exactamente lo que necesito para limpiar un proyecto de todos los enlaces TFS.
Andreas
3
Esto no parece funcionar en 2013: el complemento de control de código fuente se almacena en la solución.
Rob
1
Esto funcionó muy bien para mí en VS2013 Ultimate. Estaba moviendo una única solución de TFS a SVN y esto salvó mi tocino.
Rob Horton
11

Si alguien necesita hacer esto fuera del contexto de la aplicación Visual Studio, por ejemplo, a través de la línea de comandos, escribí una pequeña herramienta que eliminará los enlaces de control de origen de los archivos de Solución y Proyecto. La fuente está disponible aquí: https://github.com/saveenr/VS_unbind_source_control

saveenr
fuente
Lo siento, pero esto no funcionó para mí. Seguía preguntando si quería desconectarme del nuevo servidor y volver a conectarme al servidor anterior.
ATL_DEV
5

Publicación anterior, así que solo agrego a las respuestas de @Matt Frear y @Johan Buret. Ambos trabajan .

Pero en el caso de Matt, también debe configurar estos (VS 2012) en el Bloc de notas / editor de texto:

SccProjectName = ""
SccAuxPath = ""
SccLocalPath = ""
SccProvider = ""

Para cada proyecto en el archivo de solución (.sln).

La respuesta de @ Johan efectivamente hace esto ...

EdSF
fuente
4

En algún momento, la información de enlace se almacena en caché

Para borrar el caché de Team Explorer:

Go to C:\Users\<user>\AppData\Local\Microsoft\Team Foundation\2.0
Delete or rename the Cache folder.

Esto viene de un sitio web que no pude encontrar ahora. Gracias por ese chico por el consejo.

marca
fuente
2

Lo siguiente funciona para mí:

  1. Elimine todos los archivos .vssscc (enlace de solución) y .vspscc (enlace de proyecto)
  2. Eliminar el bloque GlobalSection (TeamFoundationVersionControl) = preSolution del archivo de solución

También podría haber información sobre el control de origen en el projarchivo en las etiquetas

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

SAK dice "Debería saberlo" , por lo que se puede conservar.

Aspirina
fuente
1

En visual studio 2015,

  1. Desvincula la solución y el proyecto por File->Source Control->Advanced->Change Source Control
  2. Eliminar el caché en C:\Users\<user>\AppData\Local\Microsoft\Team Foundation\6.0
code4j
fuente
Cuando elimino el caché de la carpeta, todo vuelve inmediatamente después de volver a abrir vs.
Victor_Tlepshev
0

En VS2017

  1. ir a Inicio en Team Explorer
  2. Haga clic en Configuración en la sección del proyecto
  3. Haga clic en Configuración del repositorio en la sección Git
  4. Desde la ventana siguiente, vea la sección Remotos . verá la opción para eliminar

NB: compruebo eso para el repositorio git

reza.cse08
fuente
0

La otra opción es

Eliminar el espacio de trabajo

volver a mapear cuando sea necesario

Asegúrese de verificar, revertir (Deshacer cambios pendientes)

antes de eliminar el espacio de trabajo

Este es el más rápido y seguro

Buena suerte

Girona Konaraddi
fuente
0
  1. Vaya a Archivo -> Control de origen -> Avanzado -> Cambiar control de origen (si no aparece el control de cambio de origen, haga clic en la solución en el explorador de soluciones y vuelva a intentarlo)
  2. Solución de desvinculación y todos los proyectos

Ahora haga clic derecho en la solución y verá "Agregar proyecto al control de origen". Si desea volver a agregar el proyecto al control de origen, es posible que reciba algunos errores que le soliciten que cambie la carpeta de la solución en TFS. esto sucede porque su solución todavía tiene algunos mapas en un espacio de trabajo. eliminar mapeo o eliminar espacio de trabajo. ahora su solución está completamente desvinculada y sin asignar de TFS o espacios de trabajo.

Ali Dehghani
fuente
-1

Aquí puedes encontrar otra herramienta (incluido el código fuente) para eliminar tanto la huella SCC de los archivos de solución y proyecto como los archivos .vssscc y .vspscc. Además, elimina la salida y otros directorios configurables.

Hth

Stefan

Stefan
fuente