813 Stimmen

Wie kann ich einen Projektordner innerhalb von Visual Studio umbenennen?

Meine aktuelle Lösung zum Umbenennen des Projektordners lautet:

  • Entfernen Sie das Projekt aus der Lösung.
  • Benennen Sie den Ordner außerhalb von Visual Studio um.
  • Fügen Sie das Projekt erneut zur Lösung hinzu.

Gibt es einen besseren Weg?

0 Stimmen

Ich werde das nicht als Antwort einfügen, weil du es nicht tun solltest, aber wenn du eine Agent Ransack-Suche nach dem Projektnamen durchführst und alle Verweise darauf durch den neuen Dateinamen ersetzt, funktioniert es, wenn du alle Ordner und Unterordner einschließt und sowohl Dateinamen umbenennst als auch Texte innerhalb von Dateien ersetzt. Ich habe es schon mehrmals gemacht, nie mit mehr als ein paar Minuten Aufräumarbeiten danach.

0 Stimmen

Für VS 2019, wenn Ihr Projekt läuft, können Sie den Ordner nicht umbenennen (der Rechtsklick Ihrer Maus auf dem Ordner zeigt die Option "Umbenennen" nicht an). Beenden Sie den laufenden Prozess und versuchen Sie es erneut.

8 Stimmen

Es gibt keine einfache, ein-Klick -Möglichkeit, dies zu tun. Zumindest nicht von innerhalb von Visual Studio.

886voto

andersjanmyr Punkte 10932

TFS-Benutzer: Wenn Sie eine Versionskontrolle verwenden, die Sie vor dem Umbenennen von Dateien/Ordnern warnen muss, schauen Sie sich stattdessen diese Antwort an, die die zusätzlichen Schritte abdeckt.


Um den Ordner, die Datei (.*proj) und den Anzeigenamen eines Projekts in Visual Studio umzubenennen:

  • Schließen Sie die Lösung.
  • Benennen Sie den/die Ordner außerhalb von Visual Studio um. (Im TFS umbenennen, falls eine Versionskontrolle verwendet wird)
  • Öffnen Sie die Lösung und ignorieren Sie die Warnungen (antworten Sie mit "Nein", wenn Sie gefragt werden, ob ein Projekt aus der Versionskontrolle geladen werden soll).
  • Gehen Sie alle nicht verfügbaren Projekte durch und...
    • Öffnen Sie das Eigenschaften-Fenster für das Projekt (markieren Sie das Projekt und drücken Sie Alt+Enter oder F4, oder Rechtsklick > Eigenschaften).
    • Setzen Sie die Eigenschaft 'Dateipfad' auf den neuen Speicherort.
      • Wenn die Eigenschaft nicht bearbeitbar ist (wie in Visual Studio 2012), öffnen Sie die .sln-Datei direkt in einem anderen Editor wie Notepad++ und aktualisieren Sie dort die Pfade. (Möglicherweise müssen Sie die Lösung zuerst im TFS auschecken, usw.)
    • Das Projekt neu laden - Rechtsklick > Projekt neu laden.
    • Ändern Sie den Anzeigenamen des Projekts, indem Sie es markieren und F2 drücken, oder Rechtsklick > umbenennen.

Hinweis: Andere vorgeschlagene Lösungen, die das Entfernen und erneute Hinzufügen des Projekts zur Lösung beinhalten, werden Projektreferenzen unterbrechen.

Wenn Sie diese Schritte durchführen, sollten Sie auch das folgende ändern, um übereinzustimmen:

  1. Assembly
  2. Standard/Stamm-Namespace
  3. Namespace vorhandener Dateien (verwenden Sie die Refactoring-Tools in Visual Studio oder ReSharpers inkonsistente Namensraum-Tool)

Erwägen Sie auch, die Werte der folgenden Assembly-Attribute zu ändern:

  1. AssemblyProductAttribute
  2. AssemblyDescriptionAttribute
  3. AssemblyTitleAttribute

31 Stimmen

Für diejenigen, die Quellcodeverwaltung verwenden, müssen Sie den Ordner auch in der Quellcodeverwaltung umbenennen. Für mich haben die obigen Schritte das nicht getan.

13 Stimmen

Beim Verwenden von TFS ist Schritt 2 tatsächlich das Umbenennen des Ordners in der Quellsteuerung und dann das Abrufen des neuesten vor dem erneuten Öffnen der sln.

0 Stimmen

Eine zusätzliche Notiz... Möglicherweise müssen Sie auch Ihre Projektverweise innerhalb Ihrer Lösung neu erstellen. Ich habe eine Lösung mit einer Reihe von verknüpften Klassenbibliotheken und musste die Verweise löschen und erneut hinzufügen.

159voto

wired00 Punkte 13046

Dies ist einfach in Visual Studio 2015 (funktioniert möglicherweise in älteren Versionen)

  1. Im Lösung Explorer, rechtsklicken auf HauptlösungUmbenennen
  2. Im Lösung Explorer, rechtsklicken auf Projekt (unter Lösung) → Umbenennen
  3. Im Lösung Explorer, doppelklicken oder rechtsklicken auf Eigenschaften → gehe zu Anwendung Tab, benenne Assembly-Name und Standard-Namespace entsprechend um.
  4. Wenn Sie auch den Namespace umbenennen möchten, öffnen Sie eine Ihrer Klassendateien. Rechtsklicken Sie auf den Namespace → Umbenennen.... Dadurch sollten alle Verweise auf Ihren Namespace im gesamten Projekt gesucht und ersetzt werden.
  5. Schließen Sie das Projekt → benennen Sie den Projektordner um.
  6. Bearbeiten Sie die .sln Datei in Notepad und ändern Sie den Pfad zur csproj, d.h., fu\bar.csprojbar\bar.csproj.

5 Stimmen

Sie haben vergessen, die Projektverweise in abhängigen Projekten (falls vorhanden) zu aktualisieren.

0 Stimmen

Erinnern Sie sich daran, Schritt 4 auf den Unterprojektordner anzuwenden (das war der einzige fehlende Schritt für mich, damit Schritt 6 funktionierte).

3 Stimmen

Wie ich es lese, fragt die Frage nicht, wie der Anzeigename des Projekts in VS oder der Name der .exe geändert werden kann (vielleicht hat der Fragende das bereits getan), sondern wie der Projektdordner (im Dateisystem) umbenannt werden kann und die .sln synchron gehalten werden kann. Daher scheinen nur Schritte 5 und 6 relevant zu sein. Es scheint jedoch die beste Lösung für das Fehlen einer Möglichkeit, dies innerhalb von VS zu tun.

116voto

rabashani Punkte 1169

Es gibt einen anderen Weg, dies zu tun, indem man die *.sol, *csproj Dateien verwendet.

  1. Öffnen Sie Ihre Lösungsdatei.

  2. Suchen Sie nach der *.csproj-Datei, die Sie ändern möchten.

  3. Es wird so aussehen (relativ zur *.sol-Datei):

    Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Shani.Commands.Impl","Shani.Commands.Impl\Shani.Commands.Impl.csproj", "{747CFA4B-FC83-419A-858E-5E2DE2B948EE}"

  4. Und ändern Sie einfach den ersten Teil in das neue Verzeichnis, zum Beispiel:

    Impl\Shani.Commands.Impl\Shani.Commands.Impl.csproj

  5. Vergessen Sie natürlich nicht, das gesamte Projekt in dieses Verzeichnis zu verschieben.

23 Stimmen

Dies hat bei mir funktioniert, im Gegensatz zur akzeptierten Antwort, die nicht funktionierte, weil die FilePath-Eigenschaft für mich schreibgeschützt war.

2 Stimmen

Vielen Dank, das hat sehr geholfen. Stellen Sie außerdem sicher, dass Sie auch die RootNamespace- und AssemblyName-Werte ändern.

0 Stimmen

Dies hat für mich in VS2019 nicht funktioniert. Es gibt Warnungen über fehlende Projektverweise und Kompilierungsfehler über fehlende Namespaces und Klassen im referenzierten Projekt.

56voto

René Punkte 9554

Mann, habe ich damit gekämpft. Leider gibt es keine Ein-Klick-Lösung in Visual Studio, aber wenn Sie Visual Studio 2012 verwenden und Ihr Projekt unter Quellcodeverwaltung mit Team Foundation Server steht, so habe ich es geschafft, es zum Laufen zu bringen, während ich die Quellverlauf behalten habe:

(Stellen Sie sicher, dass Sie den Kommentar von @mjv unten lesen, da er darauf hinweist, dass Sie die Schritte 5-10 überspringen können)

  1. Stellen Sie sicher, dass Sie alle Änderungen eingecheckt haben, sodass keine ausstehenden Änderungen vorhanden sind.
  2. Entfernen Sie das Projekt aus der Lösung, indem Sie mit der rechten Maustaste darauf klicken und Entfernen auswählen.
  3. Benennen Sie jetzt in Windows Explorer den Projektordner um.
  4. Gehen Sie zurück zu Visual Studio und klicken Sie im Solution Explorer mit der rechten Maustaste auf die Lösung und wählen Sie Hinzufügen -> Vorhandenes Projekt hinzufügen. Wählen Sie die Projektdatei für das Projekt, das Sie im Schritt 2 entfernt haben, die sich im umbenannten Ordner befinden sollte.
  5. Jetzt ist das Projekt wieder in der Lösung, aber das Projekt scheint nicht zur Quellcodeverwaltung hinzugefügt zu sein. Um das zu beheben, öffnen Sie den Source Control Explorer.
  6. Finden Sie den Projektordner im Source Control Explorer, der mit dem Projektordner auf Ihrer Festplatte übereinstimmt, den Sie im Schritt 3 umbenannt haben.
  7. Benennen Sie den Ordner im Source Control Explorer um, sodass er den gleichen Namen wie der Projektordner auf der Festplatte hat.
  8. Schauen Sie sich nun Ihre ausstehenden Änderungen an. Es sollten Änderungen an der Lösungsdatei und eine Umbenennungsoperation am Projektordner vorhanden sein.
  9. Führen Sie einen Neubau durch und stellen Sie sicher, dass alles korrekt kompiliert. Wenn Sie interne Projektverweise auf das Projekt hatten, das Sie umbenannt haben, müssen Sie sie erneut zu den einzelnen Projekten hinzufügen, die darauf verwiesen haben.
  10. Jetzt sollte alles bereit sein. Gehen Sie und checken Sie alles ein.

Die obige Anleitung hat bei mir funktioniert. Wenn es bei Ihnen nicht funktioniert, versuchen Sie, Ihre lokale Lösung vollständig zu löschen und die Ordnerzuordnung in Ihrem Workspace zu entfernen. Starten Sie Visual Studio zur Sicherheit neu. Stellen Sie sicher, dass Sie die gesamte Lösung tatsächlich von Ihrem Computer gelöscht haben. Fügen Sie nun die Lösungsabbildung zu Ihrem Workspace hinzu und beziehen Sie die neueste Version. Versuchen Sie nun die obigen Schritte. Das Gleiche gilt, wenn etwas schief geht, während Sie die obigen Schritte befolgen. Löschen Sie einfach Ihre Lösung lokal und beziehen Sie die neueste Quelle, und Sie haben eine saubere Arbeitsfläche.

Wenn Sie immer noch Probleme haben, stellen Sie sicher, dass Sie nichts manuell in der Lösungsdatei geändert haben oder andere 'Tricks' ausprobiert haben, bevor Sie die obigen Schritte ausführen. Wenn Sie etwas geändert und eingecheckt haben, möchten Sie vielleicht erwägen, einen Rollback auf den Zeitpunkt kurz vor dem Beginn des Herummurkens mit der Umbenennung des Projekts durchzuführen.

Natürlich möchten Sie auch das Projekt selbst im Solution Explorer umbenennen. Sie können dies vor den oben genannten Schritten tun, aber in diesem Fall stellen Sie sicher, dass Sie diese Änderung eingeloggt haben, bevor Sie die oben genannten Schritte anwenden. Sie können es auch danach tun, aber stellen Sie sicher, dass Sie zuerst alle oben genannten Schritte befolgen und Ihre Änderungen einloggen, bevor Sie versuchen, den Projektnamen im Solution Explorer umzubenennen. Ich empfehle nicht, die oben genannten Schritte mit einer Umbenennung des Projektnamens im Solution Explorer zu mischen. Es könnte funktionieren, aber ich empfehle, es in 2 separaten Changesets durchzuführen.

10 Stimmen

Vielen Dank, dass Sie ein Verfahren eingeführt haben, das in VS2012 funktioniert! Beachten Sie, dass Sie die Schritte 5-10 (d.h. das Umbenennen der Ordner innerhalb des Quellcodes erneut in die Versionskontrolle bringen) vermeiden können, wenn Sie stattdessen die Lösung schließen und dann die Ordner innerhalb von VS' Source Control Explorer umbenennen, anstatt von Windows Explorer.

2 Stimmen

Diese Schritte waren nah dran, aber das Ändern des Ordnerorts mit dem Windows Explorer (WE) vor der Umbenennung im Source Control Explorer (SCE) führte zu dem Fehler: Ordner existiert bereits. Also musste ich den Ordner erneut im WE umbenennen und dann im SCE ändern, bevor die Dateien in diesen Ordner kopiert werden konnten, damit es funktionierte. Bitte befolgen Sie den Kommentar von mjv oben. Ich habe auch nicht daran gedacht, dass ich die tatsächlichen Projektnamendateien ändern muss (nicht nur in VS), was ich als Nachsatz gemacht habe, was dazu führte, dass ich einige dieser Schritte wiederholen musste.

0 Stimmen

Dieser Ansatz mit dem Kommentar von mjv funktioniert auch in Perforce mit der Option Rechtsklick, Umbenennen/Verschieben.

36voto

mortenbpost Punkte 1647

Derzeit nicht. Eigentlich können Sie auf das defekte Projekt-Knoten klicken und im Eigenschaftenfenster nach der Eigenschaft 'Pfad' suchen, auf das kleine Symbol für das Durchsuchen klicken und den neuen Pfad auswählen.

Voilà :)

2 Stimmen

Unter Verwendung von VS2015 ist der Name des Eigenschaftselements "Entladen Projekt Eigenschaften" "Dateipfad" und der Wert ist weder editierbar noch durchsuchbar.

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X