Como posso remover completamente as ligações do TFS

238

Eu tenho uma solução que contém muitos projetos,

Gostaria de remover completamente as ligações de controle de origem, como posso fazer isso?

Atualização: O que realmente quero fazer é mover uma solução e seus projetos do TFS 2005 -> 2008. É por isso que estou removendo as ligações, existe uma maneira melhor de fazer isso?

Michael L
fonte
Eu não acho que você precise remover e adicionar novamente as ligações para atualizar para um TFS mais recente. O cliente 2008 substitui completamente o cliente 2005 e trabalha no VS 2005 e 2008 para servidores antigos e novos.
Bert Huijben 6/02/09
2
Criei um complemento do VSIX que remove as ligações do TFS e fecha uma cópia da sua solução (também remove todos os arquivos desnecessários). Veja visualstudiogallery.msdn.microsoft.com/…
RickAndMSFT 4/14/14
A pasta Modelos vazia ficou bagunçada @ RickAnd-MSFT Eu tive que excluí-lo e recriá-lo, caso contrário ele funciona muito bem. thx
Tom Stickel
@ RickAnd-MSFT que provavelmente deve ser uma resposta
Chris Marisic

Respostas:

268

Arquivo -> Controle de origem -> Avançado -> Alterar controle de origem e, em seguida, desvincule e / ou desconecte todos os projetos e a solução.

Isso deve remover todas as ligações dos arquivos de solução e projeto. (Depois disso, você pode alternar o provedor SCC em Ferramentas -> Opções -> Controle de origem -> Seleção de plug-in).

A especificação do SCC prescreve que todos os provedores do SCC devem implementar esse comportamento. (Eu apenas testei para VSS, TFS e AnkhSVN)

Bert Huijben
fonte
4
+1, mas infelizmente isso ainda mantém os elementos nos arquivos do projeto, bem como os arquivos .vssscc. No entanto, o arquivo de solução é limpo. Usamos o VS 2010 Pro, sendo este o primeiro projeto TFS que já usamos.
James Skemp
24
Isso pressupõe que você possa se conectar ao servidor TFS original.
ATL_DEV
2
Criei um complemento do VSIX que remove as ligações do TFS e fecha uma cópia da sua solução (também remove todos os arquivos desnecessários). Veja visualstudiogallery.msdn.microsoft.com/…
RickAndMSFT 4/14/14
Meu espaço de trabalho do TFS foi removido devido à inatividade (provavelmente). Mas ainda consegui remover as ligações. No entanto, não funcionou da primeira vez. A segunda vez que verifiquei todas as ligações ainda estavam lá. A segunda vez que desenrolei tudo que funcionou.
DerpyNerd 27/08/16
152

Não tenho o menu Arquivo -> Controle de origem no Visual Studio porque nunca usei o TFS com esta instalação do Visual Studio.

Meu problema era que eu estava abrindo uma solução da Internet e o autor original havia esquecido de remover as ligações do TFS; portanto, toda vez que eu abria a solução, recebia um pop-up irritante dizendo

"Go Offline

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

The solution will be opened offline."

Para se livrar disso, excluí o arquivo .suo ao lado do arquivo .sln e, em seguida, abri o arquivo .sln no bloco de notas e excluí esta seção inteira:

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

Salve o .sln no bloco de notas e abra no Visual Studio, problema resolvido.

Atualização: Saveen Reddy criou uma ferramenta para fazer isso. Eu ainda não tentei.

Matt Frear
fonte
3
Era isso, eu também tinha esse pop-up. Obrigado. Mas se eu removi o arquivo .suo e inicie o VS, perdi o histórico de arquivos abertos. Movi o arquivo .suo de volta, recuperei meus arquivos abertos. Então, eu precisava apenas remover a seção.
Ibram 24/07/12
Eu tinha um projeto que estava no VSS adicionado ao TFS, e o VS continuava vendo o VSS como o provedor de controle de origem (mesmo que eu tenha removido as ligações, o que é reconhecidamente um problema um pouco separado). A exclusão do código acima no projeto e a nova ligação ao TFS resolveram o problema.
333Mhz
Eu estava tendo problemas até excluir meu arquivo .suo. Só então me perguntou se eu queria remover permanentemente as ligações de controle de origem.
Zacharydl
Hoje em dia, precisamos fazer isso para esta tarefa simples e comum? Microsoft deve pensar em usabilidade ...
Legumes Malditos
1
Funcionou muito bem com o VS 2015, única necessidade é a secção TFS removido em ficheiro.SLN
Tony Dong
41

A solução mais simples seria abrir o Visual Studio, desativar o plug-in TFS em Ferramentas> Opções> Controle de origem e reabrir a solução que você deseja limpar. O Visual Studio solicitará a remoção de ligações de controles de origem

Johan Buret
fonte
1
Também eu esqueci de mencionar, este é um VS 2008 Solution, e eu acho que a resposta só funciona com o VS 2005.
Michael L
1
Tentei muitas soluções diferentes, mas essa parece ser a mais simples e rápida (no Visual Studio 2012). Trabalhei até agora nas soluções que tenho!
olf 31/05
Impressionante! É rápido, é simples, é exatamente o que eu preciso para limpar um projeto de todas as ligações do TFS.
Andreas
3
Isso não parece funcionar em 2013 - o Plugin de controle de origem está armazenado na solução.
Rob
1
Isso funcionou muito bem para mim no VS2013 Ultimate. Eu estava movendo uma única solução do TFS para o SVN e isso salvou meu bacon.
Rob Horton
11

Se alguém precisar fazer isso fora do contexto do aplicativo Visual Studio - por meio da linha de comando, por exemplo, escrevi uma pequena ferramenta que removerá as ligações de controle de origem dos arquivos Solution And Project. A fonte está disponível aqui: https://github.com/saveenr/VS_unbind_source_control

saveenr
fonte
Desculpe, mas isso não funcionou para mim. Continuava perguntando se eu queria desconectar do novo servidor e reconectar-me ao servidor antigo.
ATL_DEV
5

Post antigo, então apenas adicionando às respostas de @Matt Frear e @Johan Buret. Ambos funcionam .

Mas no caso de Matt, você também precisa configurá-los (VS 2012) no bloco de notas / editor de texto:

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

Para cada projeto no arquivo de solução (.sln).

@ A resposta de Johan efetivamente faz isso ....

EdSF
fonte
4

Em algum momento, as informações da ligação são armazenadas em cache

Para limpar o cache do Team Explorer:

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

Isso vem de um site que não consegui encontrar agora. Obrigado por esse cara pela dica.

Marca
fonte
2

Próximo funciona para mim:

  1. Exclua todos os arquivos .vssscc (ligação da solução) e .vspscc (ligação do projeto)
  2. Remova o bloco GlobalSection (TeamFoundationVersionControl) = preSolution do arquivo de solução

Também pode haver informações sobre o controle de origem no projarquivo em tags

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

A SAK declara "Já deve saber" , para que possa ser mantida.

Aspirina
fonte
1

No visual studio 2015,

  1. Desvincule a solução e o projeto File->Source Control->Advanced->Change Source Control
  2. Remova o cache em C:\Users\<user>\AppData\Local\Microsoft\Team Foundation\6.0
code4j
fonte
Quando eu excluo o cache da pasta, tudo volta logo após a reabertura vs.
Victor_Tlepshev
0

No VS2017

  1. vá para a Página inicial no Team Explorer
  2. Clique em Configurações na seção do projeto
  3. Clique em Configurações do Repositório na seção Git
  4. Na próxima janela, consulte a seção Remotos . você verá a opção para remover

NB: Eu verifico isso para o repositório git

reza.cse08
fonte
0

A outra opção é

Excluir a área de trabalho

Mapeie novamente quando necessário

Certifique-se de verificar a reversão (Desfazer alterações pendentes)

antes de remover o espaço de trabalho

Este é o mais rápido e seguro

Boa sorte

Girish Konaraddi
fonte
0
  1. Vá para Arquivo -> Controle de origem -> Avançado -> Controle de alteração de origem (se o controle de alteração de origem não aparecer, clique na solução no gerenciador de soluções e tente novamente)
  2. Soltar a solução e todos os projetos

Agora clique com o botão direito do mouse na solução e você verá "Adicionar projeto ao controle de origem". se você deseja adicionar um projeto ao controle de origem novamente, poderá haver alguns erros que solicitam que você altere a pasta da solução no TFS. isso acontece porque sua solução ainda tem algum mapeamento em uma área de trabalho. remova o mapeamento ou exclua o espaço de trabalho. agora sua solução está completamente desassociada e não mapeada no TFS ou nos espaços de trabalho.

Ali Dehghani
fonte
-1

Aqui você pode encontrar outra ferramenta (incluindo o código-fonte) para remover o espaço ocupado pelo SCC dos arquivos de solução e projeto e os arquivos .vssscc e .vspscc. Além disso, ele remove a saída e outros diretórios configuráveis.

Hth

Stefan

Stefan
fonte