Visual Studio-Kopierprojekt

141

Ich möchte eine Kopie meines Projekts machen. Ich würde es lieber nicht von vorne anfangen, indem ich Dateien und Referenzen usw. hinzufüge. Bitte beachten Sie, dass ich nicht "Kopie für die Bereitstellung" meine. Einfach nur kopieren.

Gibt es ein Tool in VS, um dies zu tun? Ich benutze VS 2008

Sarsnake
quelle

Antworten:

144

Wenn Sie eine Kopie wünschen, ist es am schnellsten, das Projekt zu speichern. Erstellen Sie dann eine Kopie des gesamten Objekts im Dateisystem. Gehen Sie zurück in Visual Studio und öffnen Sie die Kopie. Von dort aus würde ich höchstwahrscheinlich empfehlen, das Projekt / die Lösung umzubenennen, damit Sie nicht zwei mit demselben Namen haben, aber dies ist der schnellste Weg, um eine Kopie zu erstellen.

Mitchel Sellers
quelle
25
Was passiert dann mit der ProjectGUID?
Lars Corneliussen
4
Vergessen Sie nicht, SVN-Dateien zu löschen, wenn Sie welche haben (ich habe es getan!) -> weblogs.asp.net/jgalloway/archive/2007/02/24/…
qbantek
51
Die Projekt-GUID wird von VS automatisch aktualisiert, wenn in derselben Lösung ein anderes Projekt mit derselben GUID vorhanden ist.
Sebastian Krysmanski
3
Ich versuche es, aber es benennt keine Anwendungsnamespaces um. Nicht das, wonach ich gesucht habe.
Jason
3
Projekt-GUID NICHT AUTOMATISCH AKTUALISIERT VON VS in Community 2017 Version 15.8.4. Wie könnte es tatsächlich sein, wenn sich Ihre AssemblyInfo.cs in der Quellcodeverwaltung befindet?
PeterVermont
133

Erstellen Sie einfach eine Vorlage .

Wählen Sie aus Ihrem Projekt: Projekt - Vorlage exportieren

Mit dem Assistenten können Sie definieren

  • Vorlagenname
  • Vorlagenbeschreibung
  • Symbol
  • Vorschaubild

Anschließend wird Ihr Projekt in das Verzeichnis "Meine exportierten Vorlagen" komprimiert. Sie haben auch die Möglichkeit, Ihre Vorlage verfügbar zu machen, wenn Sie ein neues Projekt erstellen.

Wenn Sie Ihre Vorlage verwenden, um ein neues Projekt zu erstellen, ist der Namespace in jeder Datei für 'your_new_project_name' korrekt, alle Referenzen korrekt, alles perfecto :)

Sie können die ZIP-Datei an jeden senden, der die ZIP-Datei in das Verzeichnis Templates \ ProjectTemplates kopieren (nicht entpacken) muss, damit er sie auch verwenden kann.

Ich habe eine ASP.NET MVC-Vorlage mit Ordnern, Layoutseiten, Ansichtsmodellen usw. erstellt, die so angeordnet sind, wie es mir gefällt.

HINWEIS:
Wenn Ihr Projekt einen leeren Ordner enthält, wird dieser NICHT zur Vorlage hinzugefügt. Daher habe ich nur eine leere Klasse für jeden Ordner und ein Beispielbild für den Bilderordner hinzugefügt.

Shane
quelle
28
IMO, beste Antwort.
Fischgeek
14
In VS2017 befand sich die Exportvorlage unter dem Menüpunkt Projekt der obersten Ebene.
Choco
3
Das ist unglaublich nützlich. Woher wusste ich das vorher nicht? Vielen Dank!
Aldarrion
5
Dies sollte die gewählte Antwort sein. Sehr leicht! Dieser Prozess sollte es auch in Ihren Ordner Templates \ ProjectTemplates kopiert haben. Stellen Sie einfach sicher. Ich musste mein Visual Studio neu starten, um es in meinem Projekterstellungsdialog anzuzeigen.
midoriha_senpai
3
Als es an der Zeit war, die Vorlage zu importieren , um ein neues Projekt zu erstellen, konnte ich nicht herausfinden, wie es geht. Es stellte sich heraus, dass ich die Suchleiste im Dialogfeld "Neues Projekt" verwenden musste, um die Vorlage zu finden.
Tawab Wakil
6

Ich denke, wenn Sie dies häufig tun, gibt es ein kleines (nicht kostenloses) Dienstprogramm, das verspricht, es für Sie zu tun: Ich habe es nicht verwendet, bin mir also nicht sicher, wie gut es ist:

http://www.kinook.com/CopyWiz/

Es gibt auch dieses Projekt auf CodePlex:

http://clone.codeplex.com/

Ich werde wahrscheinlich das Codeplex-Projekt ausprobieren, und wenn es nicht funktioniert, werde ich alles manuell umbenennen und die SLN-Datei bearbeiten.

witzeln
quelle
Die Codeplex-App "Solution Clone" funktioniert ziemlich gut. Es kopiert und benennt alle Lösungsdateien um und behält alle Referenzen bei. Das einzige, was ich tun musste, war, es nach dem Öffnen der kopierten Lösung in die neu umbenannte Projektdatei umzubenennen und dann den Assemblynamen und den Stammnamensraum in den Projekteigenschaften umzubenennen. Es war jedoch viel einfacher, als alles manuell zu erledigen.
Fütemire
4

Es ist sehr NICHT ratsam , Projekte überhaupt zu kopieren, da einige intern erstellte Konfigurationsdateien wie .csproj, .vspscc usw. möglicherweise (und höchstwahrscheinlich) auf Verweise verweisen, die zum Speicherort früherer Lösungen und zu anderen Pfaden / Speicherorten im System oder gehören TFS. Versuchen Sie nicht, Projekte zu kopieren, es sei denn, Sie sind ein Experte beim Lesen dieser Dateien und beim Korrigieren von Referenzen.

Sie können ein Skelettprojekt des gleichen Typs erstellen, den Sie kopieren möchten. Dadurch werden die richtigen .csproj- und .vspscc- Dateien erstellt. Jetzt können Sie die Klassendateien, Skripte und anderen Inhalte aus dem vorherigen Projekt kopieren, da sie keine Auswirkungen haben. Dies gewährleistet eine reibungslose Erstellung und Versionskontrolle (falls Sie sich dafür interessieren)

Nachdem ich das alles gesagt habe, möchte ich Ihnen die Methode geben, wie Sie das Projekt trotzdem schrittweise kopieren können:

  1. Gehen Sie im Projektmappen-Explorer zu dem Projekt, das Sie kopieren möchten, und klicken Sie mit der rechten Maustaste .
  2. Wählen Sie nun " Ordner im Datei-Explorer öffnen " (vorausgesetzt, Sie haben die Lösung einem lokalen Pfad auf Ihrer Festplatte zugeordnet).
  3. Wählen Sie die Projekte aus, die Sie als ganze Ordner replizieren möchten (zusammen mit allen Abhängigkeiten, bin .vspscc-Datei, .csproj-Datei).
  4. Fügen Sie sie an der gewünschten Stelle ein (es kann sich um denselben Lösungsordner oder sogar um einen anderen Lösungsordner handeln. Wenn sich dieser im selben Lösungsordner befindet, müssen Sie ihn umbenennen, auch die .csproj- und andere interne Dateien in den neuen Namen ).
  5. Nein, kehren Sie zu Visual Studio zurück. Klicken Sie mit der rechten Maustaste auf Lösung> Hinzufügen> Vorhandenes Projekt ...
  6. Durchsuchen und wählen Sie die Projektdatei (.csproj-Datei) jetzt an dem Ort aus, an dem Sie sie abgelegt haben, und wählen Sie " Öffnen ".
  7. Diese Datei wird jetzt im Lösungs-Explorer angezeigt, damit Sie arbeiten können.

Möglicherweise müssen Sie jetzt einige Build-Fehler beheben, wahrscheinlich mit doppelten / fehlenden Referenzen und anderen Dingen, aber ansonsten ist die Logik und Struktur so makellos, wie Sie es erwartet haben.

Vikram K.
quelle
2
Update: Die beste Antwort ab 2019 ist die unten stehende von @Shane. Das Erstellen von VS-Vorlagen ist der perfekte Weg, um Projekte ohne Referenzprobleme zu klonen.
Vikram K
3

Ich folge diesen Schritten und verwende das Entwicklungstool Resharper , das übrigens fantastisch ist:

So,

  1. Kopieren Sie den vorhandenen Projektordner an das gewünschte Ziel
  2. Gehen Sie zur Quellcodeverwaltung und klicken Sie mit der rechten Maustaste auf den gewünschten Stammordner und wählen Sie "Elemente zum Ordner hinzufügen ...". Anschließend wird ein Assistent angezeigt, der die zu kopierenden Dateien auswählt (einige Dateien und die Dateien sind nicht erforderlich Der Assistent führt Sie aus diesem Grund standardmäßig.
  3. Ändern Sie den Namen der Lösungsdatei (* .sln)
  4. Ändern Sie die Namen der Unterprojekte, falls vorhanden.
  5. Verwenden Sie Resharper , um den Namen der verbindlichen Namespaces zu ändern (ich erledige den Dirty Job automatisch mit Sicherheit). Die alternative Möglichkeit besteht darin, alle Namespaces manuell mit dem neuen Namen zu ändern.
  6. Dieselbe Aktion mit Methodennamen.
  7. Überprüfen Sie die Eigenschaften der Lösung, wenn Sie sie ändern möchten.

Das ist es. Sie sind bereit!!!

Giannis Grivas
quelle
1

Der beste Weg ist, ein neues Projekt von Grund auf neu zu erstellen und dann in den Ordner mit den Projektdateien zu wechseln, über die Sie kopieren möchten (Projekt, Formular1, alles außer Ordnern). Benennen Sie die Dateien um (außer form1-Dateien), zum Beispiel: Ich habe Ch4Ex1-Dateien in mein Ch4Ex2-Projekt kopiert, aber zuerst die Dateien in Ch4Ex2 umbenannt. Kopieren Sie diese Dateien und fügen Sie sie in den Projektmappen-Explorer für das neue Projekt in Visual Studio ein. Dann überschreiben Sie einfach die Dateien und Sie sollten bereit sein zu gehen!

Alter Thread, aber ich hoffe, es hilft jedem, der nach dieser Antwort sucht!

Alperon
quelle
0

Ich habe ein Projekt, in dem sich die Quelldateien in einem Ordner unterhalb des Projektordners befinden. Wenn ich den Projektordner ohne den Quellordner kopiert und das kopierte Projekt geöffnet habe, fehlen die Quelldateien nicht, sondern befinden sich am alten Speicherort. Ich habe das Projekt geschlossen, auch den Quellordner kopiert und das Projekt erneut geöffnet. Jetzt verweist das Projekt auf magische Weise auf die kopierten Quelldateien (sowohl der neue Pfad wurde unter "Speichern unter" angezeigt als auch eine Änderung in einer Datei wurde in der kopierten Version gespeichert).

Es gibt eine Einschränkung: Wenn sich nicht sowohl alte als auch neue Projektordner unter einem verwendeten Bibliotheksordner befinden, verwirft die oben erwähnte Magie auch den absoluten Verweis auf die Bibliothek und erwartet ihn unter demselben relativen Pfad.

Ich habe dies mit VS Express 2012 versucht.

Rainald62
quelle
0

Meine Lösung ist etwas anders - der Computer, auf dem sich das Paket befand, ist gestorben, und ich musste es auf einem anderen Computer neu erstellen.

Was ich (in VS 2008) getan habe, war, die folgenden Dateien in meinem Verzeichnis zu öffnen:

                  - <package name>.djproj
                  - <package name>.dtproj.user
                  - <package name>.dtxs
                  - <package name>.sln
                  - Package.dtsx

Als ich dies tat, fragte mich ein Popup-Fenster, ob die SLN-Datei eine neue Lösung sein würde, und als ich auf "Ja" klickte, funktionierte alles perfekt.

Brian
quelle
0

Nachdem Sie die obigen Lösungen ausprobiert und eine Kopie für MVC-Projekte erstellt haben

Für MVC-Projekte aktualisieren Sie bitte die Portnummern in der .csproj-Datei. Sie können die Portnummern mithilfe von iis applicationhost.config überprüfen. Dieselben Portnummern verursachen Probleme beim Laden von Assemblys in IIS.

Ganesh Vellanki
quelle
0

Nach Shane's Antwort oben (was übrigens großartig funktioniert)…

Möglicherweise finden Sie in der Referenzliste eine Reihe gelber Dreiecke. Die meisten davon können durch ein Build->Clean Solutionund beseitigt werden Build->Rebuild Solution.

Ich hatte zufällig einige Google API-Referenzen, die etwas hartnäckiger waren.

Der Versuch, das NuGet-Paket derselben Version neu zu installieren, hat nicht funktioniert.
Visual Studio glaubt, dass Sie es bereits installiert haben.

Um dies zu
umgehen : 1: Notieren Sie sich die Originalversion.
2: Installieren Sie die nächsthöhere Version ... und deinstallieren Sie sie dann.
3: Installieren Sie die Originalversion aus Schritt 1.

Chris Catignani
quelle
0

Ich verwende Visual Studio 2013, wobei Projekt> Vorlage exportieren keine Option ist. Hier ist , was ich ein Projekt zu klonen verwenden.

Aus Ihrer Lösung: Datei> Vorlage exportieren> Projekt auswählen, aus dem eine Vorlage erstellt werden soll, Pfad speichern

Laden Sie das VS 2013 SDK hier herunter und installieren Sie es

Erstellen Sie unter Erweiterbarkeit ein neues VSIX-Projekt

Wählen Sie im VSIXManifest-Dialogfeld die Registerkarte Assets

Füllen Sie das Textfeld Autor aus

Wählen Sie "Projektvorlage" für Typ und Durchsuchen, um die exportierte Vorlage hinzuzufügen (gespeichert unter dem in Schritt 1 angegebenen Pfad).

Speichern und erstellen Sie das VSIX-Projekt. Wechseln Sie zum Ordner ... / bin / Debug des VSIX-Projekts und doppelklicken Sie, um die .vsix-Datei auszuführen

Wenn Sie eine neue Instanz von Visual Studio starten, sollte Ihre Vorlage unter dem Projekttyp Ihrer Vorlage angezeigt werden. Erstellen Sie ein neues Projekt aus Ihrer Vorlage

Sie müssen alle DLL-Referenzen erneut hinzufügen

Smitty-Werben-Jäger-Manjenson
quelle
0

Der einfachste Weg, dies zu tun, besteht darin, das Projekt als Vorlage zu exportieren und am Standardspeicherort der Vorlage zu speichern. Kopieren Sie dann die Vorlage in genau dasselbe Verzeichnis an dem Speicherort, an den Sie sie verschieben möchten. Öffnen Sie anschließend Visual Studio am neuen Speicherort, erstellen Sie ein neues Projekt und Sie werden aufgefordert, nach einer Vorlage zu suchen. Suchen Sie nach der Vorlage, wählen Sie sie aus und fertig!

Die Nyla Lauren Company
quelle