wake-up-neo.com

Visual Studio ruft von irgendwo aus einen falschen Pfad zu einem Projekt ab

Visual Studio (und möglicherweise TFS) hat sich irgendwie (ich denke vielleicht während einer Zusammenführung der Quellcodeverwaltung) über den Pfad eines Projekts in meiner Lösung verwirrt.

Es denkt, dass es hier ist (Beispielpfade zur Vereinfachung):

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

die Projektdatei befindet sich jedoch hier:

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

Ich kann es nicht für mein Leben schaffen, den richtigen Ort zu erkennen. Ich habe versucht:

  • Entfernen und erneutes Hinzufügen des Projekts am richtigen Ort. In einer Fehlermeldung wird The project file at C:\My Projects\ExampleSolution\ExampleProjectWrong\ExampleProjectCorrect.csproj could not be found angezeigt.

  • Manuelles Bearbeiten der .sln-Datei, um sicherzustellen, dass alle Verweise auf ExampleProjectCorrect.csproj die richtigen Pfade haben.

  • Durchsuchen der Dateien im Lösungsverzeichnis nach korrekten und falschen Pfaden, um herauszufinden, wo Studio den falschen Pfad versteckt.

  • Löschen der Cache-Verzeichnisse für VS und TFS

Ich reiße mir die Haare aus, weil ich die Lösung nicht neu erstellen kann, da es fast keine Rolle für 100 Projekte spielt und mit mehreren anderen Entwicklern an der Quellcodeverwaltung gebunden ist.

Kann mir jemand in die richtige Richtung weisen, wo er diesen falschen Pfad speichert und/oder wie er zurückgesetzt wird, damit das verdammte Ding richtig geladen wird?

93
Charlie Drewitt
  1. Gehen Sie zu Arbeitsbereiche verwalten (entweder über das Menü Datei-/Quellcodeverwaltung oder über den Arbeitsbereich, der im Quellcodeverwaltungs-Explorer angezeigt wird
  2. wählen Sie edit für Ihren Arbeitsbereich.
  3. Unter Arbeitsordnern sollte eine Zuordnung für das Quellverzeichnis der Steuerung zum alten/falschen Projektverzeichnis angezeigt werden.
  4. Wählen Sie es aus und klicken Sie auf remove .
  5. Schließen Sie VS und löschen Sie die Suo-Datei. 

Es verweist immer noch auf das falsche Verzeichnis. Vielleicht funktioniert das Umbinden an diesem Punkt vielleicht, aber das habe ich nicht versucht. Laden Sie Ihr Projekt neu und Sie sollten sich gut fühlen.

90
Benjamin Potts

Das Löschen der Lösungsdatei .suo hat für mich funktioniert.

30
ThePower

Nachdem ich eine Migration von Visual Source Safe 2005 zu TFS 2012 durchgeführt hatte, stand ich vor diesem Problem. Ich konnte nicht auf den "Konvertierungsassistenten" warten, der in den nächsten Wochen herausgekommen ist. Ich habe also nur VSSConvert.exe ausgeführt. Dies dauerte ungefähr 6 Jahre Geschichte und wurde in TFS verschoben. Während ich nicht die eigentliche Timeline-Historie abgerufen habe, erhielt ich am selben Tag eine Reihe von Einträgen mit den Kommentaren, die das tatsächliche Einchecken der Historie anzeigen. . nicht schlecht.

Nachdem die ganze Nacht gelaufen war (Erfolgreich, ja!), Hatte ich Probleme beim Laden meiner Projekte, genau wie in dieser Frage angegeben. Aus irgendeinem Grund wurde bei einigen Projekten auf ein falsches Verzeichnis verwiesen. Ich überprüfte die .sln, die .vsproj -Dateien und holte die neuesten Informationen ab, löschte erneutes Abrufen, fügte das Entfernen hinzu usw. Ich habe alles versucht, was hier angegeben ist ... sogar ein Upgrade meines Arbeitsbereichs.

ENDLICH ... Ich habe die Dateien * .suo und die Viola gelöscht. Es funktionierte. 

Ich habe ein paar Stunden damit verbracht.

12
hanzolo

Eine etwas andere Lösung.

TFS zeigte einen nicht vorhandenen Pfad für eine bestimmte Lösung an. Zuvor hatte ich einen Laptop mit einem separaten D: -Laufwerk, aber jetzt habe ich nur noch ein C: -Laufwerk. TFS dachte immer noch, mein Projekt sei auf D:\Project\MikesProject gespeichert

Ich hatte keine .suo-Datei zum Löschen, der D: Pfad wurde nicht irgendwo in meinen Arbeitsbereichen erwähnt (im Menü File\Source Control\Advanced\Workspaces vergraben). TFS zeigte an, dass ich die neuesten Dateien in meinem ( nicht länger existent) D: directory und TFS in VS2013 hatten keine Option "Zuordnungen entfernen" für dieses Projekt.

Was tat Arbeit war, war einfach eine "Get neuste Version" für das Projekt.

Danach wurde eine neue Kopie des Codes in mein Laufwerk C: geschrieben, und (interessanterweise) wurde jetzt der lokale Pfad angezeigt unterstrichen

Bisher wurde der D: -Pfad nicht so angezeigt.

Ungerade. Sehr komisch.

5
Mike Gledhill

Wir hatten ähnliche Probleme mit Verschiebungen und Umbenennungen. Die lokalen Verzeichnisse wurden gelöscht und dann wieder gelöst.

2
Tony Hopkinson

Versuchen Sie, die .suo-Datei (einschließlich Erweiterung) zu löschen oder umzubenennen. Diese Datei befindet sich am selben Ort, an dem sich Ihre Lösungsdatei befindet. Es hat für mich funktioniert.

1
Mandeep Janjua

Selbst nach dem Löschen der .suo-Datei und .vs-Ordner musste ich die .sln-Datei bearbeiten und die alte relative URL aus SccProjectName# entfernen, obwohl SccLocalPath# korrekt ist. Anscheinend verwendet VS den Namen auch als Hinweispfad.

1
Adam

Nachdem ich viele Empfehlungen ausprobiert hatte, löschte ich die Suo-Datei (wieder). Das letzte Mal hat gearbeitet. Warum es früher nicht geklappt hat, weiß ich nicht. Im Allgemeinen finde ich das Löschen der Suo-Datei einer der ersten Schritte, die ich mache.

0
user3097514

Noch eine andere Lösung funktionierte für uns - nachdem wir versucht hatten, suo und fast alles, was in diesem Thread erwähnt wurde, zu löschen. Wir hatten ein Projekt in der Lösung, das eine Geisterversion der csproj-Datei zeigte. Wir haben diese Datei gelöscht und die Pfade für ein anderes Projekt, das wir hinzufügen wollten, korrigiert.

0
Rondakay

Wenn Sie Ihre Web-App anstelle von IISExpress unter Local IIS ausführen, klicken Sie auf die Schaltfläche "Create Virtual Directory" (Virtuelles Verzeichnis erstellen), indem Sie in den Projekteigenschaften gehen. Sobald dies erledigt ist, führen Sie "Clean Solution" und "Rebuild Solution" aus.

0
Ajinkya Surve

Ich hatte meine asp.net-Website-Lösung von meiner Dev-Niederlassung aus geöffnet ... und dann für einen anderen Zweck die gleiche Lösung aus der Haupt-Niederlassung.

Ich habe eine Änderung an einer meiner .ascx.cs-Datei im dev-Zweig vorgenommen und einen Haltepunkt gesetzt. Als ich den Debugger ausgeführt habe, wurden alle meine Haltepunkte im Dev-Zweig getroffen, mit Ausnahme der .ascx.cs, die den Main-Zweig traf. Hab keine Ahnung.

Es wurde versucht, den temporären Ordner zu säubern, funktionierte jedoch nicht.

Was funktionierte:

Alle Instanzen von Visual Studio geschlossen

Öffnete die Lösung von Dev Branch wieder.

Laufen Sie noch einmal und die Haltepunkte fingen an zu schlagen.

0
gbs

Nur raten, aber vielleicht beziehen sich einige Ihrer anderen Projekte auf Ihr Projekt vom falschen Ort aus? In diesem Fall müssen Sie das Projekt nicht nur löschen und erneut in Ihre Projektmappe einfügen, sondern auch die Referenzen aus den referenzierenden Projekten löschen und neu erstellen (in ihren .csproj-Dateien). 

0
Doc Brown

In meinem Fall habe ich die * .sln-Datei in den Projektordner kopiert und den Projektpfad in die * .sln-Datei geändert. Nur dadurch wurde das Problem gelöst (vs 2015 sp1, winservise project).

Löschen * .suo hilft mir nicht.

0
Kamerton