Come posso ripristinare la mia soluzione in Visual Studio online in TFS?


242

Avevo la mia soluzione in Visual Studio 2012 (che è sotto il controllo del codice sorgente TFS) aperta e il server TFS (2010) era inattivo. Quando ho apportato una modifica a uno dei file e ho tentato di salvarlo, ho ricevuto una richiesta di chiedermi se volevo sovrascrivere il file dicendo che il server TFS era inattivo (non ricordo le parole esatte) e il seguente messaggio è apparso in la finestra di output:

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

Come posso riconoscere la modifica del file tra le modifiche in sospeso e l'intera soluzione online?

Risposte:


504

Ho cercato la soluzione online e ho trovato questa soluzione ma non ero troppo entusiasta della modifica del registro.

Ho trovato un modo migliore: fare clic con il pulsante destro del mouse sul nome della soluzione nella parte superiore di Esplora soluzioni e selezionare l' opzione Vai online . Facendo clic su questo mi ha permesso di selezionare i file che erano stati modificati quando ero offline e rendere di nuovo online la soluzione.

Dopo aver trovato la soluzione, ho trovato il seguente thread del forum msdn che ha confermato quanto sopra.


1
Ha funzionato per me. Grazie.
Bijimon

2
Ha funzionato per me, grazie mille. Sarebbe strano entrare nel registro per questo.
Nick N.

Ne avevo davvero bisogno oggi. Grazie per aver fornito una risposta. Ha funzionato alla grande.
Tony Abrams,

2
Perché questo non appare prima. Ho quasi perso questa risposta. :(
Adrian,

4
Questa è la risposta migliore e funziona anche in Visual Studio 2017. Non è necessario modificare il registro.
Wayland Young,

9

Rinominare il file .SUO corrispondente della soluzione. Il file SUO contiene lo stato TFS (online / offline), tra una miriade di altre chicche.

Fallo solo se il "clic destro sul nome della soluzione nella parte superiore di Esplora soluzioni e seleziona l'opzione Vai online" non riesce (perché, ad esempio, hai installato l'anteprima di VS2015).


8

Vai a File > Source Control > Go Online, seleziona i file che hai modificato e completa il processo.


6

(Passaggio aggiuntivo dalla soluzione precedente per la mancanza del valore del registro AutoReconnect o Offline)

Per Visual Studio 2015, versione 14

  1. Disattiva tutte le istanze VS.
  2. HKEY_CURRENT_USER \ SOFTWARE \ Microsoft \ VisualStudio \ 14.0 \ TeamFoundation \ Instances {YourServerName} \ Collections {TheCollectionName} (per accedere a questa directory su Windows, premi il tasto Windows + R e cerca "regedit")
  3. Impostare i valori Offline e AutoReconnect su 0.
  4. Se ti manca uno di questi attributi (nel mio caso mancava AutoReconnect), fai clic con il pulsante destro del mouse e crea un nuovo valore DWORD (32 bit) con il nome mancante desiderato, AutoReconnect o Offline.
  5. Ancora una volta, assicurarsi che entrambi i valori siano impostati su zero.
  6. Riavvia la tua soluzione

Ulteriori informazioni: blog MSDN - Quando e come la mia soluzione diventa offline?


3

Sto usando la versione 15.4.0 di Visual Studio 2017 . Soprattutto quando ho iniziato a utilizzare l'opzione di soluzione leggera, questa cosa offline mi è successa. Ho provato sopra le soluzioni che sono:

  1. Ho provato a regedit opzione ma non riesco a vedere le opzioni di menu appropriate. Non ha funzionato
  2. Fare clic con il tasto destro del mouse sulla soluzione, è disponibile l'opzione online e quando la scelgo mi dà questo messaggio di errore: "La soluzione non è in linea perché il suo Team Foundation Server associato non è in linea. Impossibile determinare l'area di lavoro per questa soluzione."

Quindi da File -> Controllo del codice sorgente -> Avanzate -> Cambia controllo del codice sorgente . Ho visto i miei file. Li seleziono e quindi ho scelto l'opzione bind. Questo ha funzionato per me.


2

Puoi andare usando l'editor del registro.

  1. Disattiva tutte le istanze VS.
  2. Apri l'editor del registro e vai a: HKEY_CURRENT_USER \ Software \ Microsoft \ VisualStudio \ 11.0 \ TeamFoundation \ Instances
  3. Trova il server corretto, ad esempio: team32system1
  4. Vai a Collection e nex DefaultCollection: HKEY_CURRENT_USER \ Software \ Microsoft \ VisualStudio \ 11.0 \ TeamFoundation \ Instances \ team32system1 \ Collections \ DefaultCollection
  5. Impostare la chiave offline su 0
  6. Soluzione aperta in VS. Successivamente apparirà il pop-up su quale domanda vorresti portare la soluzione in modalità online.

stackoverflow.com/questions/261525/… Preferisco la pagina seguente rispetto a quella soluzione;). Buono a riunire tutti i csproj
Nordes

1

Nessuna delle soluzioni precedenti ha funzionato per me su Visual Studio Community 2017 v15.7.1. In qualche modo, non c'era l'opzione "Vai online" nel menu contestuale. Ho provato a modificare il registro come suggerito qui, ma questo mi ha mostrato solo un errore che non riusciva a trovare l'associazione. Ciò che ha funzionato per me è il ricollegamento della soluzione al server dal menu Modifica controllo del codice sorgente.

Vai a File->Source Control->Advanced->Change Source Controle assicurati che la tua soluzione sia vincolata al controllo del codice sorgente. In caso contrario (come il mio), fai clic sul pulsante di associazione, cercherà automaticamente il server TFS online e ricollegherà la tua soluzione.


0

ho trovato un altro modo senza troppi sforzi.

Basta semplicemente fare clic con il pulsante destro del mouse sulla soluzione e quindi fare clic su Annulla in attesa di modifiche.

Successivamente, VS ti chiederà un file modificato in modo intenzionale in cui desideri annullare o non specificare un file specifico.

In questo puoi fare clic su No per un file del genere in cui l'effettiva modifica è avvenuta, il resto sta solo annullando. Questo non perderà le tue effettive modifiche


0

Dovrai eseguire due passaggi qui per una soluzione completa

Prima fai clic sulla soluzione che hai aperto e poi vai su File-> Controllo del codice sorgente -> Vai online Quindi deseleziona tutti i file che vengono mostrati come modificati mentre eri offline.

Non eseguire la versione più recente da Explorer controllo sorgente. Ciò comporterà una finestra di dialogo che mostra potenzialmente un mucchio di file che ti chiedono di risolvere i conflitti. Invece fai questo

In Esplora risorse di controllo, fai clic con il pulsante destro del mouse sulla cartella che desideri ottenere più recente, quindi Avanzate - Ottieni versione specifica. Nel menu a discesa per il tipo di versione, selezionare Più recente, quindi selezionare la prima casella di controllo che dice Sovrascrivi i file scrivibili che non sono stati estratti. Ciò porterà automaticamente la tua cartella in sincronia con le ultime sul server

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.