Visual Studio: Projekt kopieren und mit der Kopie weiterarbeiten



  • Vorweg: Dieser Beitrag enthält keine Frage, sondern eine Anleitung wie das geht.

    Ich habe schon oft vor dem Problem gestanden, dass ich aus einem vorhandenen Projekt ein neues Projekt erzeugen wollte, weil sich vieles aus dem alten Projekt wiederverwenden lässt. Das alte Projekt soll aber nicht überschrieben oder verändert werden, sondern es soll mit einer umbenannten Kopie weitergearbeitet werden. Leider gibt es in Visual Studio keine Funktion zum Kopieren eines Projekts. Ich kannte bisher nur mehr oder weniger komplizierte Workarounds.

    Jetzt habe ich dafür eine realtiv einfache Lösung gefunden, bei der keinerlei manuelle Änderungen in irgendwelchen Dateien erforderlich sind. Das geht so:

    1. Das vorhandene Projekt wird in Visual Studio geöffnet.
    2. Datei --> Vorlage exportieren --> weiter --> fertig stellen
    3. Das Projekt befindet sich jetzt als zip-Datei im Ordner "My exported templates"
    4. Datei --> neu --> Projekt
    5. In der Auflistung, wo die verschiedenen Projektarten stehen, ganz nach unten scrollen. Dort sollte die Vorlage stehen, die wir soeben erzeugt haben. Die wird ausgewählt.
    6. Bei "Name" einen neuen Projektnamen vergeben
    7. Der gleiche Name wird auch für die neue Projektmappe vorgeschlagen, das ist ok. Das Häkchen bei "Projektmappenverzeichnis erstellen" sollte gesetzt sein.
    8. Auf "ok" klicken.
    9. Das neue Projekt ist jetzt vorhanden und kann sofort verwendet werden.
    10. Wenn die zip-Datei nicht mehr benötigt wird, kann sie gelöscht werden. Wie man sie direkt aus Visual Studio löscht, das habe ich noch nicht herausgefunden.

    Michael



  • Hallo,

    wenn du während der Entwicklung merkst, dass Funktionalitäten aus Projekt A auch in Projekt B notwendig sind, dann bietet es sich eigentlich mehr an diese Funktionalitäten in eigene Assemblies auszulagen, die dann von jedem Projekt geladen werden können.

    Ansonsten ist der Sinn hinter den Vorlagen auch eher der, das man z.B. wenn alle Anwendungen den gleichen Aufbau haben die Grundstruktur als Vorlage abgelegt werden kann. - Ich finde es nicht gut, diesen sagen wir mal unbeholfenen Workaround zu verwenden und zu empfehlen. Dafür ist die Funktionalität einfach nicht gedacht.



  • Hallo,

    inflames2k schrieb:

    Ich finde es nicht gut, diesen sagen wir mal unbeholfenen Workaround zu verwenden und zu empfehlen. Dafür ist die Funktionalität einfach nicht gedacht.

    Da es in Visual Studio nun mal keine Funktion gibt, um eine umbenannte Kopie eines Projekts zu erzeugen, kommt man um einen Workaround nicht herum. Dieser Workaround ist der einfachste den ich kenne. Bei anderen Workarounds muss man in Dateien herumeditieren um die Pfade zu ändern. Wenn man aus Versehen einen Pfad vergisst zu ändern, kann es passieren dass man unbeabsichtigt das Original-Projekt verändert.
    Ein erfahrener Programmierer wird immer eine Lösung finden um sein Ziel zu erreichen. Ich habe noch nicht so viel Erfahrung. Mir ist es schon mehrfach passiert, dass ich irgendwas in einem Projekt verändert habe, und irgendwann geht plötzlich gar nichts mehr und man weiss nicht warum. Dann wünscht man sich dass man vorher eine Kopie gemacht hätte.

    Gruß
    Michael



  • Du hast nicht meinen ganzen Post gelesen oder die hälfte ignoriert oder?

    Ich habe auch mit keiner Silbe erwähnt, dass du an irgendwelchen Projekt-Dateien rumspielen sollst. Du sollst einfach Funktionalitäten die in anderen Anwendungen ebenfalls benötigt werden in Bibliotheken auslagern.



  • inflames2k schrieb:

    Du sollst einfach Funktionalitäten die in anderen Anwendungen ebenfalls benötigt werden in Bibliotheken auslagern.

    Für dich ist das vielleicht einfach. Aber ich wüsste im Moment noch gar nicht wie ich eine Bibliothek erzeugen soll. Ich kann doch nicht alles gleichzeitig lernen.
    Wir brauchen uns darüber nicht streiten, es ist alles gesagt.

    Gruß
    Michael



  • Für mich nicht. Nach 200 Beiträgen solltest du wissen, das du über den Projekttyp "Klassenbibliothek" eine Bibliothek hinzufügen kannst.

    Seis drum. - Ich rate jedem es gleich richtig zu machen.



  • Hallo Michael,
    danke für Deinen Tipp. Ich verwende VB2010 und da hat es nicht ganz so funktioniert, wie beschrieben. Bis Punkt 5 alles ok, aber ab 6 ging es so nicht mehr weiter. Bin jedoch wie folgt zum Ergebnis gekommen:

    1. Nach Auswahl des Templates ist das Projekt sofort geöffnet und kann verändert werden.
    2. Beendet man nun VB wird vor dem verlassen gefragt, ob das Projekt gespeichert werden soll. Hier kann man nun einen neuen Namen vergeben und ein neues Projektverzeichnis erstellen. Fertig.

    @inflames2k

    Da hast Du sicherlich Recht. Was Michael vermutlich meint und was ich selbst oft habe, ist der Wunsch, dass man ein aktuelles Projekt einfach mal auf einem bestimmten Status "einfriert" und mit einer Kopie weiterarbeitet. Darüber hinaus gibt es noch viele andere Gründe, warum man mit einer Kopie arbeiten möchte.

    Andre



  • abgesehen vom nekro, es gibt version control....sollte man kennen



  • @micha7 Bei mir hat es sehr gut funktioniert. Vielen Dank für diese enfach zu übernehmende Lösung.



  • @micha7 sagte in Visual Studio: Projekt kopieren und mit der Kopie weiterarbeiten:

    Ein erfahrener Programmierer wird immer eine Lösung finden um sein Ziel zu erreichen. Ich habe noch nicht so viel Erfahrung. Mir ist es schon mehrfach passiert, dass ich irgendwas in einem Projekt verändert habe, und irgendwann geht plötzlich gar nichts mehr und man weiss nicht warum. Dann wünscht man sich dass man vorher eine Kopie gemacht hätte.

    Daher wird ein erfahrener Progarmmierer ein VCS verwenden, wo man den alten Stand wieder herstellen kann, wenn man zu viel verpfuscht hat. Idealerweise sowas wie Github, dann ist dein Projektordner überall verfügbar, wo ein Internet-Zugang existiert.



  • Auch wenn es schon 3 Jahre her ist, möchte ich für diesen Post bedanken, weil ich eine ganze weile nach einer solchen Möglichkeit gesucht habe. Ein Kleinigkeit hat sich geändert. Bei mir ist der Punkt "Vorlage exportieren" nicht unter Datei, sondern unter "Projekt" zu finden. Ansonsten hat alles genau so geklappt wie hier beschrieben. Das hat mir ne Menge Zeit gespart.


Anmelden zum Antworten