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.

34voto

Die einfachere Lösung lautet wie folgt:

  1. Klicken Sie mit der rechten Maustaste auf das Projekt und benennen Sie es um.
  2. (optional) Öffnen Sie die Projekteigenschaften und ändern Sie den Assembly-Namen (und gegebenenfalls auch den Standardnamespace) auf den neuen Projektnamen.
  3. (optional) Wählen Sie den Namespace-Namen in einer Quelldatei aus, klicken Sie mit der rechten Maustaste und wählen Sie Refactor/Umbenennen, um den Namespace global in den neuen Projektnamen umzubenennen.
  4. (optional) Öffnen Sie die Datei AssemblyInfo.cs und ändern Sie den Assembly-Namen entsprechend.
  5. Speichern und schließen Sie die Lösung.
  6. Benennen Sie mit dem Windows Explorer den Projektordner in den neuen Namen um.
  7. Öffnen Sie die SLN-Datei in einem Texteditor und suchen Sie die eine Referenz zum Projektpfad und ändern Sie sie so, dass der neue Ordnernamen verwendet wird.

Es gibt vier notwendige Schritte, aber sieben empfohlene. Am Ende des Tages ist das Projekt jedoch vollständig umbenannt. Technisch gesehen muss der Ordnername für das Projekt nicht mit dem Projekt selbst übereinstimmen, daher ist auch dieser Schritt optional, aber es kann verwirrend sein, wenn sie nicht übereinstimmen. Genauso gilt dies für die Assembly- und Namespace-Namen.

0 Stimmen

Alternativer Schritt 7: Öffnen Sie die SLN-Datei mit VS, ignorieren Sie die Warnungen (klicken Sie auf "OK"), wählen Sie das Projekt(e) im Lösungs-Explorer aus, drücken Sie F4, aktualisieren Sie den Dateipfad. Optionaler Schritt 0: Klicken Sie mit der rechten Maustaste auf die Lösung und benennen Sie sie um.

14 Stimmen

Unglaublich, wie schwierig Microsoft manche Dinge macht

1 Stimmen

Dies hat für mich in Visual Studio Community 2017 funktioniert. Die akzeptierte Antwort hat nicht funktioniert (für mich); die Eigenschaft, die geändert werden musste, ist für mich schreibgeschützt und kann nicht im Eigenschaftendialog geändert werden.

12voto

CRice Punkte 11793

In andersjanmyrs Antwort ist es einfacher, zuerst das Projekt umzubenennen.

  1. Benennen Sie das Projekt um.
  2. Schließen Sie die Lösung (speichern Sie sie).
  3. Benennen Sie die Ordner außerhalb von Visual Studio um.
  4. Öffnen Sie die Lösung und ignorieren Sie die Warnungen.
  5. Gehen Sie durch alle nicht verfügbaren Projekte und setzen Sie die Eigenschaft 'Dateipfad' auf den neuen Speicherort Ihrer Projektdatei, z. B. someproject.csproj.
  6. Das Projekt neu laden.

Nachdem diese Schritte durchgeführt wurden, möchten Sie vielleicht auch andere Verweise auf Ihren alten Projektnamen umbenennen.

Aktualisieren Sie im Projekteigenschaften den Assembly-Namen und den Standardspeicherort.

Dadurch wird Folgendes in der Projektdatei aktualisiert...

SomeProjectName
SomeProjectName

...und der Fehler "Namespace entspricht nicht dem Dateispeicherort, sollte sein: 'SomeProjectName'" wird beseitigt.

Benennen Sie Ihren Root-Namespace um (falls Sie ReSharper haben, klicken Sie mit der rechten Maustaste auf das Namespace und gehen Sie zu Umbenennen).

Ändern Sie alle Vorkommen Ihres alten Projektnamens in AssemblyInfo.cs.

0 Stimmen

Basierend auf dieser Antwort können Sie die Lösungsdatei manuell bearbeiten, damit der Pfad zum Projekt Ihr neuer Pfad ist und Warnungen beim Öffnen der Lösung vermieden werden. Sie können wahrscheinlich auf Projekt>Eigenschaften>AssemblyInfo klicken, um die Assembly-Informationen innerhalb von VS zu bearbeiten und das Bearbeiten der Datei AssemblyInfo.cs zu vermeiden.

11voto

ivke Punkte 446

Für diejenigen, die Visual Studio + Git verwenden und den Dateiverlauf beibehalten möchten (funktioniert beim Umbenennen von Projekten und/oder Lösungen):

  1. Schließen Sie Visual Studio

  2. Duplizieren Sie in der .gitignore-Datei alle Ignorierpfade des Projekts, das Sie umbenennen möchten, mit umbenannten Versionen dieser Pfade.

  3. Verwenden Sie den Git move-Befehl wie folgt:

    git mv  

    Weitere Optionen finden Sie in der Dokumentation: https://git-scm.com/docs/git-mv

  4. In Ihrer .sln-Datei: Suchen Sie die Zeile, die Ihr Projekt definiert, und ändern Sie den Ordnernamen im Pfad. Die Zeile sollte ungefähr so aussehen:

    Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "", "\.csproj"
  5. Öffnen Sie Visual Studio, und klicken Sie mit der rechten Maustaste auf das Projekt → Umbenennen

  6. Benennen Sie anschließend die Namespaces um.

    Ich habe gelesen, dass ReSharper einige Optionen dafür bietet. Aber ein einfaches Suchen/Ersetzen hat bei mir funktioniert.

  7. Entfernen Sie alte .gitignore-Pfade.

9voto

Kuanysh Punkte 81

Für Visual Studio 2017 können Sie meine Visual Studio-Erweiterung verwenden:

Herunterladen

Es benennt das Projekt um in:

  • den Projektstandortordner
  • die Lösungsdatei
  • Verweise in anderen Projekten
  • den Assembly-Namen, Informationen
  • den Standard-Namespace

0 Stimmen

Super! Müde von all den manuellen Umbenennungen, die ich in der Vergangenheit machen musste. Funktioniert gut. Habe jedoch keinen Zeichenfolgenverweis in einem anderen Paket gefunden. Bin mir nicht sicher, ob das beabsichtigt ist.

0 Stimmen

Thx. aber ich habe den folgenden Satz nicht verstanden: "Zeichenfolgenreferenz in einem anderen Paket". Kannst du es erklären?

0 Stimmen

Also habe ich ein Testprojekt und dort habe ich [assembly: InternalsVisibleTo("MeineTests")]. Als ich MeineTests umbenannt habe, wurde diese Referenz nicht umbenannt. Ich glaube nicht, dass dies in Ihren Zuständigkeitsbereich fällt und es ist leicht manuell zu lösen.

8voto

John Im Punkte 101

Ich musste das selbst machen (unter Verwendung von Visual Studio 2010). Wie bereits von einigen Leuten beantwortet, scheint der einfachste Schritt zu sein:

  1. Schließen Sie das Visual Studio-Projekt.
  2. Öffnen Sie die .sln-Datei und benennen Sie das Projektverzeichnispräfix für jede der .csproj-Vorkommen um.
  3. Speichern Sie die .sln-Datei.
  4. Benennen Sie das tatsächliche Projektordnerverzeichnis auf Ihrer Festplatte um, um Ihren Änderungen in der .sln-Datei zu entsprechen.
  5. Öffnen Sie die .sln (in Visual Studio) und erstellen Sie sie neu.

0 Stimmen

Dies scheint wirklich der einfachste Weg zu sein, es zu tun, obwohl ich es vorziehe, Schritt 4 vor Schritt 2 zu machen.

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