10

Oggi, tutto ad un tratto, ho scoperto che non sono in grado di completare con successo alcun tipo di comando get sul nostro TFS. Per tutto il tempo il processo si blocca in un punto, la barra di avanzamento e il messaggio di stato con il file attualmente elaborato rimangono gli stessi per sempre, senza errori lanciati. Ciò accade su un file diverso ogni volta, prima o poi nel processo con l'IDE e l'utilità della riga di comando.Ottenere il comando si blocca usando VS 2012 e TFS 2008 (TFS error TF400307)

sto usando Visual Studio Premium 2012 con TFS 2008.

Non ho mai avuto un problema simile prima e ieri tutto ha funzionato bene. Da allora non sono a conoscenza di modifiche alla configurazione e sono l'unico in azienda a riscontrare il problema.

Non credo che ci sia una risposta diretta al perché questo accada, ma qualcuno potrebbe fornire qualche indicazione su come procedere nel debugging e nella risoluzione di tale problema?

Finora ho provato vari modi di eseguire il comando get - ultima versione, versione specifica, map + get latest, sia all'interno di VS IDE che tramite riga di comando. Anche molti altri comandi TFS sembrano funzionare bene.

Edit:

Dopo alcuni tentativi ed errori, lasciando il processo in corso per un'ora o giù di lì, ho finalmente siamo imbattuti in messaggi di errore nella finestra di output di controllo di origine. Inizialmente non erano visibili, perché quando il processo è stato sospeso, l'intero IDE non rispondeva. I messaggi sono tutti uguali:

[percorso file]: TF400307: l'operazione di download è scaduta dopo aver atteso 599 secondi per una risposta dal server.

+0

Ti capita di avere AVG o un altro antivirus installato? – Betty

+0

Utilizziamo ESET NOD32 Antivirus a livello aziendale e per un lungo periodo di tempo, quindi non penso che questo sia un problema. Come ho detto, non so di alcun cambiamento di configurazione del sistema operativo o software poiché funzionava ieri. – famousgarkin

+0

Ne utilizziamo un terzo: Symantec Endpoint Protection. Devo provare la tecnica che ha contrassegnato come la risposta. –

risposta

7

Avevo lo stesso problema con TFS in cui si bloccava e non rispondeva.

Ho trovato una soluzione a questo aggiornando il file tf.exe.config o devenv.exe.file di configurazione con i seguenti valori di configurazione:

<system.net> 
    <connectionManagement> 
     <add address="*" maxconnection="1000"/> 
    </connectionManagement> 
</system.net> 

ho impostato il limite a 1000 dalla mia parte, come ho guardato con attenzione il valore in Monitor risorse, anche se sinceramente non ho mai avuto superiore a 600 connessioni simultanee.

+0

Ancora una volta si è verificato un problema durante la modifica dei mapping TFS. Ho aggiunto questo al mio Program Files \ Microsoft Visual Studio 11.0 \ Common7 \ IDE \ devenv.exe.config e sembra funzionare bene. Soluzione decisamente migliore rispetto all'utilizzo del vecchio TFS, lo accetto. – famousgarkin

3

Quindi, ciò che accade è che il cliente TFS in VS 2012 è un bug in esso che causa l'avvio timeouting su tutti i file dopo qualche tempo nel processo quando si esegue un comando GET per un grande numero di file .

Come indicato nel ticket di MS Connect di seguito, la soluzione per ora consiste nell'utilizzare il client TFS precedente per eseguire i comandi di timeouting. Ho utilizzato con successo il client TFS della riga di comando VS 2010 per eseguire il progetto.

1

Stesso qui, siete molto paziente! Ho anche ricevuto un "TF400324: i servizi di Team Foundation non sono disponibili dal server xyz. Informazioni tecniche (per l'amministratore): l'operazione è scaduta" dall'esploratore del controllo del codice sorgente dopo aver annullato l'ultimo processo e ho aspettato per anni. Forse non si tratta del numero di file, ma della quantità di dati? Mi si blocca dopo circa 2 GB di dati trasferiti, che è esattamente quando un intero con segno a 32 bit è in overflow, ma questo è solo un sospetto. Biglietto: https://connect.microsoft.com/VisualStudio/feedback/details/776506/source-control-explorer-getlatest-hangs-after-certain-amount-of-data-transferred-might-be-integer-overflow#tabs

2

Di fronte allo stesso numero di ottenere l'ultima versione con VS 2012 da TFS 2008. Utilizzando lo strumento debugger e Fiddler sono riuscito a rilevare il momento in cui si blocca. Sembra che qualcosa non funzioni quando VS 2012 riceve alcune risposte HTTP del server TFS compresso, non può decomprimerle e bloccarsi. Dopo aver disattivato la compressione per il traffico HTTP TFS, VS non si blocca più. Spero che aiuti qualcun altro.

disattivare la compressione TFS creare valore Registro di sistema e riavviare VS:

HKEY_CURRENT_USER \ Software \ Microsoft \ VisualStudio \ 11.0 \ TeamFoundation \ RequestSettings EnableCompression (REG_SZ) =”false”

2

ho affrontato il simile problema. Cambiare l'area di lavoro ha funzionato per me, ho rimosso il vecchio spazio di lavoro e ne ho creato uno nuovo in cui ho mappato nuovamente i progetti richiesti e ha funzionato come un fascino !.

0

Ho notato che quando ho chiamato il metodo CreateWorkspace con i nuovi mapping WorkFolders come parametro ha iniziato a trascinare tutti i file (mappati a $ /) in locale che spiegherebbe il lungo tempo di elaborazione - modificato in CreateWorkspace con null per WorkFolders che aggiunto il passo successivo sembrava fare il trucco