Come rimuovere una mappatura dell'area di lavoro TFS?


135

Avevo un progetto in tfs all'interno di un progetto di gruppo, quindi abbiamo spostato il progetto in un'altra posizione in un altro progetto di gruppo.

Avevo configurato Jenkins per connettersi al progetto team e creare la mia soluzione, ma quando ho cambiato le impostazioni per connettermi al nuovo progetto team tfs, mi viene visualizzato l'errore seguente:

[workspace] $ "C:\Program Files (x86)\Microsoft Visual Studio 10.0\Common7\IDE\tf.exe" workspace -new Hudson-ProjectName1-Build-MASTER;domain1\username1 -noprompt -server:http://domain-eg.net:8080/tfs/newteamproject ********
The path D:\jenkins\jobs\ProjectName1-Build\workspace is already mapped in workspace Hudson-ProjectName1-Build-MASTER [http://domain-eg.net:8080/tfs/oldteamproject].

Quindi quanto sopra mostra che esiste uno spazio di lavoro esistente, quindi ho eseguito il comando seguente per rimuoverlo

tf workspace -delete Hudson-ProjectName1-Build-MASTER;domain1\username1 -noprompt -server:http://domain-eg.net:8080/tfs/oldteamproject

e ha richiesto che l'area di lavoro sia stata rimossa ma sto ancora ottenendo lo stesso errore.

Ho anche verificato se la mappatura è stata rimossa o meno eseguendo il comando seguente:

tf workspace -server:http://domain-eg.net:8080/tfs/oldteamproject Hudson-ProjectName1-Build-MASTER

ma dice che l'area di lavoro non esiste come previsto.

Quindi, ho pensato che potesse essere memorizzato nella cache da qualche parte e ho eseguito il comando seguente:

tf workspaces /remove:* /collection:http://domain-eg.net:8080/tfs/oldteamproject

e diceva "Nessuno spazio di lavoro nella cache corrisponde * dal server http://domain-eg.net:8080/tfs/oldteamproject "

quindi immagino che non sia nemmeno memorizzato nella cache.

Quindi cosa sta causando l'errore e come risolverlo?


3
Le aree di lavoro TFS devono contenere mappature delle cartelle di lavoro univoche per macchina , non solo per utente e macchina. È possibile impostare uno spazio di lavoro TFS che contiene D:\jenkins\jobs\ProjectName1-Build\workspacecome un altro utente TFS durante il test?
Edward Thomson,

9
Prova questo dalla macchina di compilazione - C: \ Users \ {UserName} \ AppData \ Local \ Microsoft \ Team Foundation \ 3.0 \ Cache ed elimina tutto quello che c'è nella cartella
SoftwareCarpenter

Ho riscontrato lo stesso problema, il mio caso era uno spazio bianco all'inizio del nome dell'area di lavoro
Daniel Rapaport,

Di recente ho rimappato la mia radice TFS e ho avuto lo stesso problema. Nel mio caso, TFS Explorer stava solo mostrando il vecchio (ultimo) percorso che ho verificato nel "Percorso locale:" ed era in grigio e non selezionabile (blu). Ho fatto un aggiornamento e ho messo tutto nella nuova mappatura corretta e quindi il percorso è diventato blu / attivo. Se hai eliminato tutti i vecchi mapping, è possibile che stia visualizzando l'ultima cartella locale a cui sei arrivato più recente, che non è dove inserirà i file ora nel nuovo mapping.
Rich M

Risposte:


196

Da VS:

  1. Apri Team Explorer
  2. Fai clic su Explorer controllo sorgente
  3. Nella barra di navigazione della finestra degli strumenti è presente un menu a discesa con l'etichetta "Aree di lavoro".
  4. Estenderlo e fare clic sull'opzione "Aree di lavoro ..." (sì, un po 'non intuitivo)
  5. Viene visualizzata la finestra "Gestisci aree di lavoro". Fai clic su Modifica e puoi aggiungere / rimuovere / modificare l'area di lavoro

esploratore di controllo del codice sorgente

Da VS su una macchina diversa

Non è necessario che VS si trovi sullo stesso computer dell'arruolamento poiché è possibile modificare gli arruolati remoti! Nella finestra di dialogo che viene visualizzata quando si preme l'elemento "Aree di lavoro ..." è presente una casella di controllo che indica "Mostra Aree di lavoro remote": basta spuntarla e verrà visualizzato un elenco di tutte le voci:

mostra aree di lavoro remote

Dalla riga di comando

Chiama "tf workspace" dal prompt dei comandi dello sviluppatore. Apparirà direttamente la "Gestione degli spazi di lavoro"!


1
Lo sta facendo su una macchina build e probabilmente non ha installato Visual Studio.
Erik Funkenbusch,

7
Grazie a questo funziona, l'ennesimo motivo per cui TFS è impressionante.
schmoopy,

6
Ho rimosso tutte le aree di lavoro. quindi aggiunto nuovo, ottenendo di nuovo l'errore che la mia cartella è già mappata su un urro tfs di wrokspace (vecchio / rimosso). Impossibile mappare su nuovo tfs / area di lavoro. M utilizzando vs 2015
Sami

11
Non funziona Lo spazio di lavoro rimane qualunque cosa. riavvia, riavvia vs, prega, fai clic sui talloni insieme 3 volte ... niente ... non andrà via. Impossibile mappare su nuovi ... non può funzionare.
Beau D'Amore

3
Questa è la risposta con il punteggio più alto, ma non affronta lo scenario in cui l'area di lavoro NON verrà eliminata (come Beau menzionato sopra). Lo rimuovi, chiudi la finestra di dialogo, apri di nuovo ed è tornato. Assolutamente esasperante.
Daugug

123

Ho riscontrato lo stesso problema e sono stato in grado di risolverlo eliminando manualmente tutti i file nella cache TFS, che si trova qui:

%LocalAppData%\Microsoft\Team Foundation\3.0\Cache

o 4.0, 5.0ecc


4
Grazie, questo funziona per me perché i miei dati locali memorizzati nella cache di tfs non erano sincronizzati quando la mia azienda ha cambiato il nome di dominio di rete.
dsum

5
Non per me. Mi sta ancora dicendothe path is already mapped in workspace {mypcname};domain\zhasan
SearchForKnowledge il

5
Avevo un \ 4.0 \ Cache e \ 5.0 \ Cache di cui mi sono liberato. Nel caso ciò aiuti qualcuno.
fooser,

1
Questo ha funzionato anche per me. Suggerimento Pro, prima di eliminare i file nella Cachecartella, prenditi un minuto per copiare tutti i file e le cartelle e tenerlo in una cartella di backup, nel caso in cui non funzioni per te e devi ripristinare il TFS al suo stato precedente .
Shiva,

In realtà è possibile eliminare tutto sotto Team Foundationse si desidera eseguire una risincronizzazione pulita.
Supersharp,

21

Seguire questi passaggi per rimuovere il mapping da TFS:

  1. Aperto team explorer
  2. Clic Source Control
  3. Fai clic destro su di te project
  4. Clicca su Remove Mapping

6
Nessuna opzione per rimuovere il mapping .. ancora affrontando l'errore che la tua cartella è già mappata su un'area di lavoro di un vecchio / rimosso URL tfs .. M utilizzando vs 2015
Sami

1
Non esiste in Visual Studio Premium 2013
dannatamente

1
Penso che questa opzione sia disponibile solo quando si sceglie la cartella originariamente mappata. Quindi, se mappo un intero progetto del team con ricorsione, posso solo annullare il mapping dell'intero progetto del team, mentre se mappo solo la cartella della soluzione, posso annullare il mapping abbastanza felicemente.
Jeff,

@Sami Dopo aver cliccato con il tasto destro sul tuo progetto, Remove Mappingti mostreremo nella Advancedsezione
Uday

11

L'errore è autentico È possibile che tu abbia creato un'area di lavoro con lo stesso nome su una macchina diversa. Ora potresti aver cambiato macchina con un nome macchina diverso.

Quindi ecco una soluzione che funzionerà sicuramente. Seguire è una soluzione.

  1. Vai a "Team-Explorer"
  2. Vai a "Controllo del codice sorgente"
  3. Vai al menu a discesa Area di lavoro
  4. Fai clic su "Aree di lavoro ..."
  5. Apparirà una finestra pop-up
  6. Fai clic su "Mostra aree di lavoro remote"
  7. Ora elimina l'area di lavoro in conflitto e puoi continuare il tuo lavoro.

Sebbene questo collegamento possa rispondere alla domanda, è meglio includere qui le parti essenziali della risposta e fornire il collegamento come riferimento. Le risposte di solo collegamento possono diventare non valide se la pagina collegata cambia.
alextansc,

il collegamento ora funzionerà correttamente. Grazie alextansc
smthakur19,

@ smthakur19 quello che alex ha cercato di dire è, se un giorno quel link non fosse più disponibile (sito web giù, pagina cancellata, ecc.) questa risposta sarà inutile. Quindi sarebbe bello includere il testo e il codice essenziali dal link di riferimento e includerlo nella risposta a tutti. Quindi, la fonte della risposta e la domanda saranno entrambe SO.
Beytan Kurt,

spiegazione elaborata, tuttavia non ho potuto aggiungere immagini poiché la mia reputazione è inferiore a 10.
smthakur19

1
collegamento interrotto, la procedura NON funziona. L'area di lavoro rimane
Beau D'Amore,

7

Seguire i passaggi seguenti:

Ctrl + Run 

Copia e Passato

%LocalAppData%\Microsoft\Team Foundation

Otterrai una versione diversa di TFS ad es inserisci qui la descrizione dell'immagine

Fai clic su ciascuna cartella e otterrai

inserisci qui la descrizione dell'immagine

Ora elimina tutti i dati in queste cartelle.

Riapri Visual Studio.

Grazie.


4

Aggiornamento 23-01-2019

Se ricevi ripetutamente il seguente errore The workspace wkspaceEg does not exist…anche dopo aver utilizzato il nome utente corretto ( wkspcOwnerDomain\wkspcOwnerUsername) nel tf workspacecomando, ad es.

tf workspace "wkspaceEg;wkspcOwnerDomain\wkspcOwnerUsername" /collection:http://tfs.example.com:8080/tfs/collectionEg /login:TFSUsername,TFSPassword

quindi il tf workfoldcomando può aiutare a risolverlo. Vedere questa domanda .

Se anche quello non funziona e non sei in grado / non vuoi usare i Sidekick di TFS , procedi con la rischiosa opzione dell'ultimo fossato di seguito.


Sto usando TFS 2012. Ho provato tutto ciò che è stato suggerito online: cartella cache eliminata, usato il menu a discesa delle aree di lavoro, aree di lavoro tf / rimuovi: *, cancellate le credenziali dal Pannello di controllo, IE, ecc.

Niente ha funzionato, credo che il mio spazio di lavoro sia stato corrotto in qualche modo. Infine, sono andato al database TFS ed ho eseguito le seguenti query. Ha funzionato! Ovviamente fai molta attenzione quando si scherza con il database , si eseguono backup, ecc.

Il database viene chiamato Tfs_<<your_TFS_collection_name>>. Ignora il Tfs_Configurationdatabase MSSQL. Non sono sicuro, ma se non si dispone di un Tfs_<<your_TFS_collection_name>>database, le impostazioni potrebbero essere nel Tfs_DefaultCollectiondatabase. Il mapping è archiviato in tbl_WorkingFolder.LocalItem.

/*Find correct workspace*/
SELECT WorkspaceId, *
FROM tbl_Workspace
ORDER BY WorkspaceName

/*View the existing mapping*/
SELECT LocalItem, *
FROM tbl_WorkingFolder
WHERE WorkspaceId = <<WorkspaceId from above>>

/*Update mapping*/
UPDATE tbl_WorkingFolder
SET LocalItem = 'D:\Legacy.00\TFS\Source\Workspaces\teamProjEg' WHERE
/*LocalItem = NULL might work too but I haven't tried it*/
WorkspaceId = <<WorkspaceId from above>>


2

Nessuna delle risposte qui ha rimosso le mie aree di lavoro. Ma ecco una soluzione che potrebbe funzionare per te.

  1. Apri un prompt dei comandi di Visual Studio
  2. Chiudere prima Visual Studio o il comando delete potrebbe non eliminare l'area di lavoro
  3. Elencare i comandi dell'area di lavoro -> tf /? per trovare i comandi disponibili dalla versione di TFS.
  4. Elenca le aree di lavoro -> aree di lavoro tf
  5. Elimina l'area di lavoro -> tf workspace YourWorkspace / delete

Questa è la strada da percorrere se hai due aree di lavoro con lo stesso nome ma per utenti diversi (ad es. Il tuo account normale e un account amministratore). Queste due aree di lavoro non verranno visualizzate come due spazi se si apre la vista "Aree di lavoro" come indicato nelle altre risposte: verrà elencato solo quello per l'utente corrente. Nel mio caso, è stato quindi il secondo spazio di lavoro (per l'account amministratore) a bloccare le operazioni. Se fai come descritto in questa risposta, il passaggio 5 ti permetterà di cancellare il secondo spazio di lavoro usando "tf workspace YourWorkspace; HiddenUser / delete".
H. Breitkreutz,

2

Non è necessario eliminare l'intera cartella della cache. perdi tutte le impostazioni / preferenze Le mappature dell'area di lavoro sono memorizzate in un file chiamato:

VersionControl.config nella directory delle impostazioni locali degli utenti / dati dell'applicazione. situato qui in Windows 7:

% LocalAppData% \ Microsoft \ Team Foundation \ x.0 \ Cache \ Volatile

dove x = 3.0,4.0, 5.0,6.0 ecc.

All'interno di questo troverai cartelle guid guidate, aprirle ognuna, modificando manualmente il suddetto file, per rimuovere la mappatura dell'area di lavoro (il percorso della directory sarà presente nell'attributo mappedpaths) da quella cartella locale al server TFS (che non è più in uso ).


1

Finalmente eliminato TUTTE le aree di lavoro e avviato da zero. Fisso.


1

Mi è stato richiesto di accedere al nostro server TFS tramite Visual Studio, quindi ho usato il mio account SU, che in genere è richiesto per l'accesso al server. Ciò ha portato ad alcuni problemi e ho finito per mappare su una cartella diversa, senza rendermi conto che avevo appena duplicato tutte le mie cose. Ad un certo punto, Visual Studio è tornato al mio utente normale, ho "perso" le modifiche in sospeso e ho notato che le nuove modifiche in sospeso sono state inserite nella mia vecchia mappatura.

Quando provavo a rimappare nella nuova posizione (a cui era collegato l'account SU) nel tentativo di recuperare le mie modifiche in sospeso, mi diceva che era già mappato sulla SU, e non potevo farlo, ma avevo nessun modo di rimuovere la mappa! Mostra aree di lavoro remote, rimuovendo tutte le aree di lavoro tramite riga di comando, ecc. Non ha rivelato nulla. Poi ho pensato "e se fosse effettivamente collegato all'account utente SU del mio computer , non al dominio". Ho effettuato l'accesso come SU locale e, sicuramente, c'era un'area di lavoro configurata per quell'utente. Ho rimosso il mapping e sono stato in grado di tornare al mio utente normale e rimappare senza problemi.

Morale della storia, forse un altro utente ha effettuato l'accesso sulla stessa macchina, che non è visibile dall'utente attualmente connesso, quindi non è possibile rimuovere o nemmeno vedere i mapping.


1

Se gli indizi citati non ti stanno aiutando, scarica Team Foundation Sidekick e, utilizzando questo, puoi eliminare le aree di lavoro.


1

File -> Controllo del codice sorgente -> Avanzate -> Aree di lavoro -> Scegli l'area di lavoro in Gestisci aree di lavoro e fai clic su "Modifica" Quindi puoi cambiare la cartella locale.


1

Tutte le risposte qui sembrano essere risposte parziali che non funzionano in tutti i casi. Penso che questa risposta funzionerà in tutti i casi, supponendo che tu abbia le autorizzazioni adeguate.

  1. Apri il prompt dei comandi per sviluppatori. Nel mio caso, l'ho provato con il prompt dei comandi per sviluppatori per VS 2019.
  2. Digita questo comando: tf workspaces

Si noti che i risultati possono elencare un paio di tabelle con struttura identica. Se vedi solo una tabella, alcune delle ipotesi nelle altre risposte possono funzionare per te. Tuttavia, se vedi due o più tabelle, quella stringa Collection è importante! Per i nostri esempi, supponiamo che tu abbia due Collezioni (due non è diversa da quattro altre di una è più noiosa dell'altra per esaminarla):

https://dev.azure.com/foo e https://bar.visualstudio.com/

Con un po 'di fortuna, saprai con quale di questi due desideri lavorare. Tuttavia, se è necessario scorrere tutti insieme, è sufficiente eseguire quella raccolta alla volta. Ogni "Collezione" qui è uguale a una "Organizzazione" in Azure DevOps (credo).

Se non si utilizza questo dettaglio della raccolta, è possibile che venga visualizzato un messaggio di errore:

Impossibile determinare il server di controllo del codice sorgente.

  1. Quindi, digitare questo comando per la raccolta che si desidera utilizzare:

tf workspaces /computer:* /owner:* /collection:https://dev.azure.com/foo

Questo ti darà un quadro molto più completo di ciò con cui hai a che fare. Questo diventa particolarmente brutto se hai avuto più account MSA e Org che colpiscono questo repository dallo stesso computer. In effetti, potresti avere più voci apparentemente identiche. Se provi a eliminarli in base a ciò che conosci attualmente, potrebbe non funzionare. Ma possiamo ottenere maggiori informazioni.

  1. Successivamente, eseguiremo lo stesso comando ma lo aggiungeremo /format:xmlalla fine:

tf workspaces /computer:* /owner:* /collection:https://dev.azure.com/foo /format:xml

Questo ora ti dà un sacco di XML con alcune proprietà aggiuntive. Quelli che probabilmente ci interessano di più sono gli alias dei proprietari. Queste sono le informazioni mancanti che è necessario passare ora ed eliminare queste aree di lavoro. Senza queste informazioni aggiuntive, è facile colpire un muro ed essere bloccato con un messaggio di errore:

Specificare un'area di lavoro.

  1. Ora abbiamo tutte le informazioni di cui abbiamo bisogno. Date le OwernAliasesvoci aggiuntive , selezionare la voce univoca (o ripetere se più di una) che si desidera eliminare e utilizzare questo comando seguente (sono elencati un paio di esempi):

    • tf workspace /delete /collection:https://dev.azure.com/foo "MyWorkspaceName;Windows Live ID\John.Doe@hotmail.com"
    • tf workspace /delete /collection:https://dev.azure.com/foo "MyWorkspaceName;John Doe"
    • tf workspace /delete /collection https://dev.azure.com/foo "MyWorkspaceName;2C3E8474-A39C-4785-8794-DC72F09981E6\John.Doe@Example.com"

Il GUID identifica una directory AAD e le virgolette sono lì per gestire eventuali spazi che potrebbero essere in un alias. "MyWorkspaceName" deriva dalle query precedenti che elencano le aree di lavoro.


Senza questo approccio molto approfondito, è possibile che tutte le altre risposte a questa domanda falliscano per te. Mentre alcuni di questi sforzi elimineranno le aree di lavoro locali, non elimineranno le aree di lavoro del server, con le quali è ancora possibile entrare in conflitto. Inoltre, se hai già utilizzato un account diverso, le cose possono diventare pelose, come se passassi da un account MSA a un account AAD. E le cose diventano DAVVERO pelose se hai un account MSA epiù account AAD tutti con lo stesso indirizzo e-mail utilizzato dalla stessa workstation. E poi diventa super folle se più di tutti usano il nome predefinito per l'area di lavoro: il nome host del tuo computer. Nel mio caso, avevo quattro aree di lavoro tutte con lo stesso nome dell'area di lavoro, nome del proprietario e nome del computer (ovvero la prima query senza la formattazione XML aveva 4 record identici!).


Non so se esiste un modo più grafico per gestirli di questo. Ho guardato e non ho ancora trovato un modo migliore di questo.


0

Puoi anche rimuovere una mappatura tfs semplicemente modificando il tuo file .sln e rimuovendo l'elemento GlobalSection per l'associazione tfs.


0

Grazie per l'aiuto!

Trova area di lavoro con problemi SELEZIONA * DA tbl_Workspace DOVE Area di lavoro Nome come '% xxxxx%'

Trova l'area di lavoro desiderata SELEZIONA * DA tbl_Workspace DOVE Area di lavoro Nome come '% zzzzz%'

Seleziona Modifica Top 200 tbl_WorkingFolder, quindi trova la mappatura del problema SELEZIONA * DA tbl_WorkingFolder DOVE WorkspaceId = Problem WorkspaceId dall'alto

Modificare il WorkspaceId sul WorkspaceId desiderato

Infine vai a Esplora progetti e seleziona Rimuovi mappatura sul progetto

Modificare VB6 MSSCCPRJ.SCC in modo che corrisponda allo spazio di lavoro desiderato


0

Prima scarica e installa il plug-in Team Explorer nel tuo sistema e poi vai a Source Control Explorer. Nel riquadro di navigazione, trova il campo Area di lavoro e fai clic sull'opzione Aree di lavoro. Dopo aver fatto clic sull'area di lavoro, vedrai tutte le aree di lavoro mappate. Fare clic sul pulsante Rimuovi e rimuovere la mappatura per le aree di lavoro richieste.


0

Esegui tf workspacesper visualizzare i mapping correnti dell'area di lavoro. L'output è simile a:

inserisci qui la descrizione dell'immagine

Quindi corri tf workspace /delete "{workspace};{user}

Utilizzando l'output sopra, per eliminare l'area di lavoro bi:

tf workspace /delete bi;James Wierzba


Questo non funziona per me. Ricevo il seguente errore: Si è verificato un errore argomento: è necessario un nome dell'area di lavoro per eliminare un'area di lavoro.
Red M

0

Di seguito sono riportati i passaggi per rimuovere il mapping di un progetto da TFS:

(1) Fare clic sul pulsante Visualizza.

(2) Apri Team Explorer

(3) Fare clic sul controllo del codice sorgente

(4) Fare clic con il tasto destro sul progetto / Directory

(5) Fare clic su Rimuovi mappatura

(6) Infine, cancella la directory locale del modulo di progetto.


Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.