493 Stimmen

Richtiges Umbenennen von Lösungen (und Verzeichnissen) in Visual Studio

Ich habe eine ziemlich komplexe Visual Studio-Lösung (2010, aber das sollte keine Rolle spielen), die ich umbenennen muss.

Ich möchte die Ordner so umbenennen, dass sie mit dem neuen Lösungsnamen übereinstimmen, aber ich finde keine Möglichkeit, die Ordnernamen automatisch umzuformulieren, und es wäre mühsam, jede einzelne Projektdatei zu durchsuchen.

Gibt es eine offizielle Möglichkeit, dies zu tun?

442voto

Contango Punkte 70203

Manuelles Bearbeiten der .sln-Datei

Diese Methode zielt ausschließlich auf die Umbenennung des Verzeichnisses für das Projekt ab, wie es im Windows Explorer angezeigt wird.

Diese Methode leidet nicht unter den Problemen der Methode zum Entfernen/Hinzufügen von Projektdateien unten (Verweise verschwinden), aber es kann zu Problemen führen, wenn Ihr Projekt unter Versionskontrolle steht (siehe Anmerkungen unten). Aus diesem Grund ist Schritt 2 (Sicherung) so wichtig.

  1. Schließen Sie Visual Studio.
  2. Erstellen Sie eine Sicherungskopie Ihrer .sln-Datei (Sie können jederzeit ein Rollback durchführen).
  3. Stellen Sie sich vor, Sie wollen ein Verzeichnis umbenennen Project1 a Project2 .
  4. Wenn Sie keine Versionskontrolle verwenden, benennen Sie den Ordner von Project1 a Project2 über den Windows Explorer.
  5. Wenn Sie die Versionskontrolle verwenden, benennen Sie den Ordner von Project1 a Project2 unter Verwendung der von der Versionsverwaltung bereitgestellten Funktionen. Dadurch bleibt die Historie der Datei erhalten. Zum Beispiel, mit TortoiseSVN klicken Sie mit der rechten Maustaste auf die Datei, wählen Sie TortoiseSVN .. Rename .
  6. Bearbeiten Sie in der .sln-Datei alle Instanzen von Project1 zu sein Project2 mit einem Texteditor wie NotePad .
  7. Starten Sie Visual Studio neu, und alles funktioniert wie zuvor, allerdings mit dem Projekt in einem anderen Verzeichnis.

Sie können auch sehen Lösung manuell umbenennen o Beitrag, der diesen manuellen Prozess beschreibt .

Vorteile

  • Sie können das Verzeichnis im Windows Explorer mit dem Projektnamen in der Projektmappe übereinstimmen lassen.
  • Diese Methode ist pas alle Verweise von anderen Projekten auf diese Datei entfernen (ein Vorteil gegenüber der Projektdatei entfernen/hinzufügen Methode, siehe meine andere Antwort unten).

Warnungen

  • Es ist wichtig, alles in einer .zip-Datei zu sichern, bevor Sie etwas umbenennen, da diese Methode zu Problemen mit der Versionskontrolle führen kann.
  • Wenn Ihr Projekt unter Versionskontrolle steht, kann es zu Problemen kommen, wenn Sie Dateien umbenennen oder Verzeichnisse außerhalb der Versionskontrolle umbenennen (mit dem Windows Explorer). Es ist besser, die Datei mit Hilfe des Quellkontrollsystems selbst umzubenennen um die Historie der Datei zu erhalten (prüfen Sie das Kontextmenü bei einem Rechtsklick - möglicherweise gibt es dort eine Funktion zum Umbenennen der Datei).

Update 2014-11-02

ReSharper hat eine automatische Methode hinzugefügt, mit der das gleiche Ergebnis wie mit der obigen manuellen Methode erzielt werden kann. Wenn der Namespace mit einer verschnörkelten blauen Linie unterstrichen ist, klicken Sie auf das Aktionspyramidensymbol, um entweder:

  • Benennen Sie den Namensraum so um, dass er mit dem Verzeichnisnamen im Windows Explorer übereinstimmt, oder;
  • Benennen Sie das Verzeichnis im Windows Explorer so um, dass es dem Namensraum entspricht.

Im zweiten Fall definiert das letzte Wort den neuen Verzeichnisnamen im Windows Explorer, z. B. wenn wir den Namensraum in ViewModel2 wird angeboten, die Datei in den Ordner ViewModel2 .

Allerdings werden dadurch nicht unbedingt die Dateien in der Versionskontrolle aktualisiert, so dass Sie möglicherweise immer noch die manuelle Methode verwenden müssen.

enter image description here

Update 2018-01-31

Getestet mit Visual Studio 2008, 2010, 2012, 2013, 2015, 2017 Update 1, 2, 3, 4, 5.

Update 2020-05-02

Getestet mit Visual Studio 2019.

Aktualisierung 2021-11-19

Erneut getestet. Funktioniert immer noch.

197voto

Zaheer Ahmed Punkte 27340

So benennen Sie eine Lösung um:

  1. Klicken Sie im Projektmappen-Explorer mit der rechten Maustaste auf das Projekt, wählen Sie Umbenennen, und geben Sie einen neuen Namen ein.

  2. Klicken Sie im Projektmappen-Explorer mit der rechten Maustaste auf das Projekt und wählen Sie Eigenschaften. Ändern Sie auf der Registerkarte "Anwendung" den "Assembly-Namen" und "Standard Namespace".

  3. Benennen Sie in der cs-Hauptdatei (oder einer anderen Codedatei) den Namensraum Deklaration um, um den neuen Namen zu verwenden. Klicken Sie dazu mit der rechten Maustaste auf den Namespace und wählen Sie Refactor > Umbenennen geben Sie einen neuen Namen ein. Zum Beispiel: namespace WindowsFormsApplication1

  4. Ändern Sie den AssemblyTitle und AssemblyProduct in Eigenschaften/AssemblyInfo.cs.

    [assembly: AssemblyTitle("New Name Here")]
    [assembly: AssemblyDescription("")]
    [assembly: AssemblyConfiguration("")]
    [assembly: AssemblyCompany("")]
    [assembly: AssemblyProduct("New Name Here")]
    [assembly: AssemblyCopyright("Copyright ©  2013")]
    [assembly: AssemblyTrademark("")]
    [assembly: AssemblyCulture("")]
  5. Löschen Sie die Verzeichnisse bin und obj physisch.

  6. Benennen Sie das Verzeichnis des physischen Projektordners um.

  7. Öffnen Sie die SLN-Datei (mit Notepad oder einem beliebigen Editor) und ändern Sie den Pfad zum Projekt.

  8. Reinigen Sie das Projekt und bauen Sie es neu auf.

32voto

AaronLS Punkte 35857

Die Umbenennungsoperationen in Visual Studio ändern nur den Dateinamen, d. h. *.prj für ein Projekt und *.sln für eine Projektmappe. Sie müssen die Ordner separat über das Dateisystem umbenennen und die Projekte entfernen und neu hinzufügen, da sie neue Ordnernamen haben werden. Beachten Sie jedoch, dass es sich bei den Projektmappen- und Projektdateien um Text- bzw. Xml-Dateien handelt. Sie können ein eigenes Programm schreiben, das die Dateien analysiert und sowohl die Ordnernamen als auch die Dateinamen umbenennt und die Projekt-/Lösungsdateien intern korrigiert.

26voto

edoardo Punkte 241

Sie können die Vorlage auch exportieren und dann ein neues Projekt aus der exportierten Vorlage erstellen, wobei Sie den Namen nach Belieben ändern können

17voto

Abhishek Agrawal Punkte 165

Nachfolgend finden Sie eine schrittweise Anleitung zum Umbenennen Ihrer gesamten Lösung in Visual Studio 2013

Angenommen, wir ändern ein Projekt namens "HelloWorld.ui" in "Section1to5.ui".

  1. Gehen Sie zum Projektmappen-Explorer (Screenshot unten), klicken Sie mit der rechten Maustaste auf das Projekt, das Sie umbenennen möchten, und wählen Sie "Umbenennen". Geben Sie den neuen Namen ein, den Sie wünschen.

Solution Explorer Screenshot

  1. Klicken Sie mit der rechten Maustaste auf das Projekt, das Sie gerade umbenannt haben, und klicken Sie auf "Eigenschaften". Ändern Sie auf der Registerkarte "Anwendung" den "Assembly-Namen" und den "Standard-Namensraum".

  2. Benennen Sie in der Hauptdatei Program.cs (oder in anderen Codedateien, die Sie erstellt haben) die Namespace-Deklaration um, um den neuen Namen zu verwenden. Klicken Sie dazu mit der rechten Maustaste auf den Namespace und wählen Sie Refactor > Rename enter a new name. Zum Beispiel:

    Namespace HelloWorld.ui ----> Namespace Section1to5.ui

  3. Erweitern Sie dann die "Eigenschaften" und doppelklicken Sie auf die Datei AssemblyInfo.cs. Sie werden das folgende Codefragment sehen:

[assembly: AssemblyTitle("HelloWorld.ui")]
[assembly: AssemblyDescription("")]
[assembly: AssemblyConfiguration("")]
[assembly: AssemblyCompany("Microsoft")]
[assembly: AssemblyProduct("HelloWorld.ui")]
[assembly: AssemblyCopyright("Copyright © Microsoft 2015")]
[assembly: AssemblyTrademark("")]
[assembly: AssemblyCulture("")]

Sie müssen den AssemblyTitle und das AssemblyProduct in Properties/AssemblyInfo.cs auf den neuen Namen ändern, in diesem Beispiel von "HelloWorld.ui" auf "Section1to5.ui". Sobald Sie den Namen geändert haben, speichern und schließen Sie Visual Studio.

  1. Gehen Sie im Projektverzeichnis in den Ordner "HelloWorld.ui" und löschen Sie die Verzeichnisse "bin" und "obj".

  2. Sobald Sie fertig sind, benennen Sie den Ordner "HelloWorld.ui" in den neuen Projektnamen um.

  3. Öffnen Sie die umbenannte Lösungsdatei mit einem Texteditor wie Notepad oder Notepad++ und bearbeiten Sie die folgende Zeile:

    Projekt("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "HalloWelt.ui", "HalloWelt.ui \HelloWorld.ui.csproj ", "{39FC65A3-3AE7-4EC9-B8F7-74F971636C70}"

Ersetzen Sie alle Instanzen von "HelloWorld.ui" durch den neuen Namen, den Sie für Ihr Projekt gewählt haben, in diesem Fall "Section1to5.ui". Dadurch wird der Pfad des Projekts in das in Schritt 6 umbenannte Verzeichnis geändert.

  1. Öffnen Sie die Lösungsdatei mit Visual Studio, bereinigen Sie das Projekt und erstellen Sie es neu.

  2. Sie werden feststellen, dass die Schaltfläche "Debug/Run" durch die Schaltfläche "Attach" ersetzt wurde. Wenn dies der Fall ist, klicken Sie einfach mit der rechten Maustaste auf das Projekt und wählen Sie die Option "Als StartUp-Projekt festlegen". Alternativ können Sie auch auf Extras>Anpassen>Befehle>Befehl hinzufügen>Debug klicken und die Schaltfläche hinzufügen.

Sie sind mit der Umbenennung des Projekts fertig. Wenn Sie irgendwelche Zweifel haben, posten Sie einfach und ich helfe Ihnen gerne weiter!

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