2011-10-06 15 views
82

Visual Studio (e possibilmente TFS) ha in qualche modo (penso che durante un'unione di controllo origine) si confonda sul percorso di un progetto all'interno della mia soluzione.Visual Studio che recupera un percorso errato a un progetto da qualche parte

Si pensa che sia qui (percorsi esempio per semplicità):

C:\My Projects\ExampleSolution\ExampleProjectWrong\ExampleProjectCorrect.csproj 

, mentre in realtà, il file di progetto si trova qui:

C:\My Projects\ExampleSolution\ExampleProjectCorrect\ExampleProjectCorrect.csproj 

non posso per la vita di me a farlo riconoscere la posizione corretta. Ho provato:

  • Rimuovere e riaggiungere il progetto dalla posizione corretta. Viene visualizzato un messaggio di errore: The project file at C:\My Projects\ExampleSolution\ExampleProjectWrong\ExampleProjectCorrect.csproj could not be found.

  • Modifica manuale del file .sln per garantire che tutti i riferimenti a ExampleProjectCorrect.csproj abbiano i percorsi corretti.

  • Fare una ricerca nei file nella directory della soluzione per entrambi i percorsi corretti e non corretti, per cercare di rintracciare dove studio nasconde il percorso errato.

  • Eliminazione di directory della cache per VS e TFS

Sto strappando i capelli perché non posso ricreare la soluzione in quanto ha vicino come non fa differenza 100 progetti in ed è legato a per controllare il controllo con molti altri sviluppatori che lavorano su di esso.

Qualcuno può indicarmi la giusta direzione su dove sta memorizzando questo percorso errato e/o su come ripristinarlo in modo che la dannata cosa si carichi correttamente?

+0

Quindi, cosa succede se si sposta il progetto nella directory ExampleProjectWrong? –

+0

Ok, alcuni progressi .. Spostarlo nella cartella sbagliata mi permette di caricarlo in Visual Studio. Tuttavia, non posso mantenerlo lì poiché la directory "ExampleProjectWrong" è la sede di un altro progetto, che contiene la stessa struttura di cartelle. Quindi, qualsiasi idea su come cambiare il percorso del progetto ora ce l'ho caricato? Il campo del percorso nelle proprietà del progetto non scaricato non è disponibile, anche quando il progetto viene scaricato? –

+2

Ho avuto questo problema per la seconda volta ora, ma questa volta sono stato in grado di capire che il progetto ramificato aveva come target la cartella originale perché usavo stringhe di connessione diverse. Questo è stato molto strano la prima volta, facendo sì che visualstudio eseguisse il debug dei file dalla cartella di origine e li mescolasse con i file del ramo, e persino Log4net si connettesse alla cartella originale! ** ha eliminato la soluzione proprio file ** e ora accede correttamente solo ai file ramificati. – Binke

risposta

84
  1. Vai Gestisci aree di lavoro (sia attraverso il menu File/controllo del codice sorgente o l'area di lavoro discesa in Esplora controllo codice sorgente)
  2. selezionare modificare per il vostro spazio di lavoro.
  3. Si dovrebbe vedere, sotto le cartelle di lavoro, un mapping per la directory di controllo di origine alla directory di progetto vecchia/errata.
  4. Selezionare e fare clic su rimuovere.
  5. Chiudi VS ed elimina il file suo.

Fa ancora riferimento alla directory errata. Forse il rebinding potrebbe funzionare a questo punto, ma non l'ho provato. Ricarica il tuo progetto e dovresti essere pronto.

+1

Inoltre, fatevi ingannare dal link del percorso locale nel controllo del sorgente di esplorazione. Avevo più di una mappatura per il mio spazio di lavoro e mostrava quello che mi aspettavo lì, ma quando ha provato a caricare il progetto stava usando l'altro percorso. –

+45

Cancellare il suo file ha fatto il trucco per me! –

+3

Sì, cancellando il .suo ha funzionato. –

0

Solo supposizioni, ma forse alcuni dei tuoi altri progetti fanno riferimento al tuo progetto dalla posizione sbagliata? In questo caso, non devi solo eliminare e reinserire il progetto nella tua soluzione, devi anche eliminare e ricreare i riferimenti dai progetti di riferimento (memorizzati nei loro file .csproj).

+0

grazie per la risposta. il progetto non è referenziato da nessun altro progetto all'interno della soluzione. puoi spiegare perché la ricerca nei file non funziona? nella mia esperienza se gli dai un percorso di directory a "Cerca in", invece di selezionare "Tutta la soluzione", cercherà tutti i tipi di file a meno che non venga specificatamente detto di cercare solo alcuni tipi di file? –

+0

Scusa, hai ragione, pensavo che stavi usando "Trova nei file" solo per i file nella soluzione, non per la directory della soluzione, mi mancava. Quindi dovrebbe funzionare. Puoi fornire una descrizione più elaborata quando compare esattamente il messaggio di errore? Si verifica durante la compilazione, in modo da poter vedere quale compilazione del progetto ha avuto esito negativo? –

2

Abbiamo avuto problemi simili con spostamenti e rinomina. Cancellare le directory locali e poi risolverlo di nuovo.

12

Mi trovavo di fronte a questo problema dopo aver eseguito una migrazione da Visual Source Safe 2005 a TFS 2012. Non potevo attendere il "Conversion Wizard" in uscita nelle prossime due settimane, quindi ho appena eseguito VSSConvert.exe. Ci sono voluti circa 6 anni di storia e lo abbiamo spostato in TFS .. mentre non ho ottenuto la cronologia della cronologia effettiva. Ho ricevuto un mucchio di voci nello stesso giorno con i commenti che indicano i check-in effettivi della cronologia .. non male ..

SO dopo che correva tutta la notte (con successo, yay!) Stavo avendo problemi a caricare i miei progetti proprio come affermava questa domanda, per qualche motivo a pochi progetti si faceva riferimento a una directory errata .. Ho controllato il. sln, i file .vsproj, e ricevendo l'ultimo, eliminando il re-get .. aggiungendo la rimozione .. ecc. Ho provato tutto ciò che ho notato qui .. anche aggiornando il mio workspace, che non sono sicuro di quello che ha fatto ..

FINALMENTE ... ho cancellato il * .suo File e viola .. ha funzionato ..

trascorso un paio d'ore su questo ..

+2

Prima di eliminare il file * .suo, assicurarsi di chiudere tutte le istanze di Visual Studio, quindi riaprire la soluzione. – Mas

-2

So che è una vecchia linea. Ho appena passato lo stesso problema. Recentemente abbiamo migrato il TFS, quindi ho creato un nuovo spazio di lavoro per mappare il nuovo server e mantenere quello vecchio. Ogni volta che apro una soluzione che dovrebbe mirare al mio nuovo spazio di lavoro, VS ha sempre cercato di caricare i progetti dalla mia vecchia directory di mappatura, fino a quando non ho rimosso il mio vecchio spazio di lavoro.

+0

questo non fornisce alcun aiuto alla domanda iniziale –

+0

Ho pensato che il mio problema avesse la stessa natura. Ho avuto due spazi di lavoro, uno dei quali è vecchio. Ho lavorato in uno nuovo, ho creato soluzioni, aggiunto progetti. tutto va bene solo se non chiudo la soluzione. Ma se ho salvato la soluzione e ho provato ad aprirla, VS ha sempre cercato di caricare i progetti nella soluzione dalla directory mappata nel mio vecchio spazio di lavoro. – BackToSorrento

27

Semplicemente eliminando le soluzioni il file .suo ha funzionato per me.

+5

In VS2015 avevo bisogno di chiudere tutte le istanze di Visual Studio prima di eliminare ' \ .vs \ \ \ .suo' ha funzionato per me. – GraehamF

5

Una soluzione leggermente diversa.

TFS stava visualizzando un percorso non esistente per una particolare soluzione. Precedentemente, avevo un portatile con un'unità D: separata, ma ora ho solo un'unità C :. TFS ancora pensato che il mio progetto è stato memorizzato su D: \ Project \ MikesProject

Non ho avuto un file .suo da eliminare, la D: percorso non è stato menzionato da nessuna parte nelle mie aree di lavoro (sepolta via sotto il menu File\Source Control\Advanced\Workspaces), TFS ha dimostrato di avere gli ultimi file nella mia directory D: (non più esistente) e TFS in VS2013 non disponeva di un'opzione "Rimuovi mappature" per questo progetto.

Ma quello che ha fatto il lavoro era semplicemente fare una "Scarica l'ultima versione" sul progetto.

Dopo averlo fatto, una nuova copia del codice è stata scritta nel mio C: drive, e (interessante), ora il percorso locale è stato mostrato sottolineato.

In precedenza, il percorso D: non è stato mostrato in questo modo.

Dispari. Molto strano.

+2

Esatta la stessa situazione per me. Ero esitante a premere il grilletto e "Get Latest" a causa di quel percorso errato, ma @ Mike mi ha dato il coraggio! – Jonathan

+0

Questo ha funzionato per me. Grazie. –

0

Dopo aver provato molte raccomandazioni ho eliminato il suo file (di nuovo). L'ultima volta ha funzionato. Perché non ha funzionato prima non lo so. In generale trovo che cancellare il suo file sia uno dei primi passi che faccio.

0

Ho avuto la mia soluzione per il sito Web asp.net aperta dal mio Dev Branch. Quindi per qualche altro scopo ho aperto la stessa soluzione dal ramo principale.

Ho apportato una modifica a uno dei miei file .ascx.cs nel ramo dev e impostare il punto di interruzione. Quando ho eseguito il debugger, tutti i miei punti di interruzione sono stati colpiti nel Dev Branch ad eccezione di .ascx.cs che stava colpendo il ramo principale. Non ne ho idea

Ho provato a pulire la cartella temporanea ma non ha funzionato.

Che cosa ha funzionato:

Chiuso tutte le istanze di Visual Studio

Aperto la soluzione dal ramo Dev nuovo.

Eseguire di nuovo e i punti di interruzione hanno iniziato a colpire.

1

Anche dopo l'eliminazione del file .suo e .vs cartelle, ho dovuto modificare il file .sln e rimuovere la vecchia url relativa dal SccProjectName# nonostante il SccLocalPath# sia corretta. Apparentemente VS usa anche il nome come percorso di suggerimento.

1

Cercare di eliminare o rinominare il file .suo (inclusa l'estensione). Questo file si trova nella stessa posizione in cui si trova il file della soluzione. Ha funzionato per me.

0

Nel mio caso ho copiato il file * .sln nella cartella del progetto e ho cambiato il percorso del progetto nel file * .sln. Solo questo ha risolto il problema (vs 2015 sp1, progetto winservise).

Elimina * .suo non è utile per me.

Problemi correlati