Projekt umbenennen?



  • Hallo,

    ich habe eine grundsätzliche Frage zur Bedienung von VS2008. Ich habe bestehendes C# Projekt, das jetzt als Basis für ein neues Projekt verwendet werden soll.
    Ich kann das bestehende Projekt kopieren, indem ich den kompletten Projektordner kopiere. Aber wie kann ich dem neuen Projekt einen neuen Namen geben?

    Gruß
    Michael



  • Im Solution-Explorer rechte Maustaste auf das Projekt und umbenennen.
    Das Verzeichnis wird dabei afair nicht umbenannt. Das kannst Du aber von Hand machen und danach alle Verweise darauf in deiner Projektdatei (.sln) in einem Texteditor von Hand anpassen.



  • Hallo,

    µ schrieb:

    Im Solution-Explorer rechte Maustaste auf das Projekt und umbenennen.
    Das Verzeichnis wird dabei afair nicht umbenannt. Das kannst Du aber von Hand machen und danach alle Verweise darauf in deiner Projektdatei (.sln) in einem Texteditor von Hand anpassen.

    Nachdem ich die Verweise in der Projektdatei geändert hatte, konnte ich das Projekt gar nicht mehr öffnen. Also so geht das leider nicht.

    Gruß
    Michael



  • Doch das geht genau so.

    • Projekt "FirstName" erstellen.
    • SolutionExplorer, rechtsklick auf Projekt (nicht Projektmappe), umbenennen in SecondName.
    • VS schließen.
    • FirstName.sln in SecondName.sln umbenennen.
    • FirstName.suo löschen.
    • Unterordner FirstName umbenennen.
    • SecondName.sln mit Texteditor öffnen, dritte Zeile:
    • [...] = "SecondName", "FirstName\SecondName.csproj", [...]
      anpassen in
      [...] = "SecondName", "SecondName\SecondName.csproj", [...]
    • Projekt öffnen.
    • Projekteigenschaften öffnen und Assemblyname sowie Standardnamespace in FirstName ändern.

    Dann sollte es kein Vorkommen des ursprünglichen Namens mehr geben.



  • Wenn ich mich recht erinnere hat auch jedes Projekt eine GUID. Die sollte man auch ändern. Sonst kommt es zu Problemen wenn das Projekt jemals zusammen mit dem Original von dem es kopiert wurde in der selben Solution referenziert wird.



  • µ schrieb:

    Doch das geht genau so.

    • Projekt "FirstName" erstellen.
    • SolutionExplorer, rechtsklick auf Projekt (nicht Projektmappe), umbenennen in SecondName.
    • VS schließen.
    • FirstName.sln in SecondName.sln umbenennen.
    • FirstName.suo löschen.
    • Unterordner FirstName umbenennen.
    • SecondName.sln mit Texteditor öffnen, dritte Zeile:
    • [...] = "SecondName", "FirstName\SecondName.csproj", [...]
      anpassen in
      [...] = "SecondName", "SecondName\SecondName.csproj", [...]
    • Projekt öffnen.
    • Projekteigenschaften öffnen und Assemblyname sowie Standardnamespace in FirstName ändern.

    Dann sollte es kein Vorkommen des ursprünglichen Namens mehr geben.

    In der Liste fehlt noch das Umbenennen des Projektordners. Als ich das gemacht hatte, konnte ich das Projekt nicht mehr öffnen.
    Ob das Verfahren funktioniert oder nicht sei mal dahingestellt -- jedenfalls scheint es kompliziert und fehleranfällig zu sein.

    Spricht etwas dagegen, das Projekt auf folgende Weise zu duplizieren?

    • Projekt "FirstName" existiert bereits.
    • In VS wird ein neues Projekt "SecondName" angelegt.
    • Die Dateien Form1.cs und Form1.Designer.cs werden vom alten ins neue Projekt kopiert, die dort vorhandenden gleichnamigen Dateien werden überschrieben.
    • In beiden kopierten Dateien wird der Namespace angepasst.

    Gruß
    Michael



  • micha7 schrieb:

    In der Liste fehlt noch das Umbenennen des Projektordners.

    Nein der Projektordner wird in Punkt 6 umbenannt.
    Den Projektmappenordner habe ich ausgelassen. Dessen Name ist komplett egal und eine Umbenennung zieht keine weiteren Schritte nach sich.

    micha7 schrieb:

    Als ich das gemacht hatte, konnte ich das Projekt nicht mehr öffnen.

    Dann hast Du es falsch gemacht.

    micha7 schrieb:

    Ob das Verfahren funktioniert oder nicht sei mal dahingestellt -- jedenfalls scheint es kompliziert und fehleranfällig zu sein.

    Du musst nichts "dahinstellen" Du Vogel. Das funktioniert genau so wie beschrieben. Wenn Du nicht in der Lage bist ein paar einfache Schritte zu befolgen, dann such Dir ein anderes Hobby als programmieren.

    micha7 schrieb:

    Spricht etwas dagegen, das Projekt auf folgende Weise zu duplizieren?

    Ja für Miniprojekte mit zwei Sourcefiles reicht das völlig aus.



  • µ schrieb:

    Nein der Projektordner wird in Punkt 6 umbenannt.
    Den Projektmappenordner habe ich ausgelassen. Dessen Name ist komplett egal und eine Umbenennung zieht keine weiteren Schritte nach sich.

    Die Verzeichnisstruktur sieht so aus:

    Visual Studio 2008
      Projects
        MeinProjekt      (1)
          MeinProjekt    (2)
            bin
            obj
            Properties
            MeinProjekt.csproj
            Form1.cs
            Form1.Designer.cs
            Form1.resx
            Program.cs 
          MeinProjekt.sln
          MeinProjekt.suo
    

    Da du geschrieben hast "Unterordner FirstName umbenennen" bin ich davon ausgegangen dass Ordner (2) gemeint ist.
    Welches ist der Projektordner und welches der Projektmappenordner?



  • (1) ist der "Projektmappenordner", und der kann, wie µ schon geschrieben hat, irgendwie heissen, weil er nirgends referenziert wird (ausser vielleicht in der "recent projects" Liste von VS).

    (2) ist der "Projektordner", dessen Name steht im .sln File (als Pfad zum .csproj File), der muss daher auch mit dem .sln File zusammenstimmen.

    micha7 schrieb:

    Spricht etwas dagegen, das Projekt auf folgende Weise zu duplizieren?

    Für Miniprojekte ist das u.U. sogar die bessere Variante, da dabei auch automatisch eine neue Project-GUID generiert wird.
    Allerdings verliert man dadurch natürlich sämtliche Non-Default-Einstellungen im .csproj File. Wenn es nix gibt was von den Defaults abweicht ist das natürlich egal.



  • danke für eure Antworten, hat mir weitergeholfen.

    Gruß
    Michael


Log in to reply