Visual Studio Copy Project


141

Vorrei fare una copia del mio progetto. Preferirei non iniziare a farlo da zero aggiungendo file e riferimenti, ecc. Si noti che non intendo la copia per la distribuzione. Solo una semplice copia.

Esiste uno strumento in VS per farlo? Sto usando VS 2008

Risposte:


144

Se vuoi una copia, il modo più veloce per farlo sarebbe quello di salvare il progetto. Quindi crea una copia dell'intera cosa sul File System. Torna in Visual Studio e apri la copia. Da lì, molto probabilmente consiglierei di rinominare il progetto / la soluzione in modo da non avere due con lo stesso nome, ma questo è il modo più veloce per fare una copia.


25
Cosa succede al ProjectGUID, quindi?
Lars Corneliussen,

4
Non dimenticare di eliminare i file svn se ne hai (l'ho fatto!) -> weblogs.asp.net/jgalloway/archive/2007/02/24/…
qbantek,

51
Il GUID del progetto viene aggiornato automaticamente da VS, se nella stessa soluzione esiste un altro progetto con lo stesso GUID.
Sebastian Krysmanski il

3
Sto provando questo, ma non rinomina gli spazi dei nomi dell'applicazione. Non quello che stavo cercando.
Jason

3
GUID del progetto NON AGGIORNATO AUTOMATICAMENTE DA VS in Community 2017 Versione 15.8.4. In effetti, come potrebbe essere se AssemblyInfo.cs è nel controllo del codice sorgente?
PeterVermont,

134

Basta creare un modello ;

Dal tuo progetto scegli: Progetto - Esporta modello

La procedura guidata ti consentirà di definire

  • Nome modello
  • Descrizione del modello
  • Icona
  • Anteprima immagine

Quindi comprime il progetto nella directory "I miei modelli esportati". Hai anche la possibilità di rendere disponibile il tuo modello quando crei un nuovo progetto.

Quando usi il tuo modello per creare un nuovo progetto, lo spazio dei nomi sarà corretto per 'your_new_project_name' in ogni file, tutti i riferimenti corretti, tutto perfettamente :)

È possibile inviare il file .zip a chiunque e questi devono copiare (non decomprimere) il file .zip nella directory Templates \ ProjectTemplates affinché possano usarli anche loro.

Ho creato un modello ASP.NET MVC con cartelle, pagina di layout, modelli di visualizzazione, ecc. Disposti proprio come mi piacciono.

NOTA:
se nel progetto è presente una cartella vuota, NON verrà aggiunta al modello, quindi ho appena aggiunto una classe vuota appropriata per ciascuna cartella e un'immagine di esempio per la cartella delle immagini.


28
IMO, migliore risposta.
fischgeek,

14
In VS2017 il modello di esportazione era nella voce di menu di livello superiore del progetto.
Choco,

3
Questo è incredibilmente utile, come non lo sapevo prima? Grazie!
Aldarrion,

5
Questa dovrebbe essere la risposta scelta. Molto facile! Questo processo avrebbe dovuto copiarlo anche nella cartella Templates \ ProjectTemplates, assicurati solo. Ho dovuto riavviare Visual Studio per vederlo nella finestra di dialogo per la creazione del mio progetto.
midoriha_senpai

3
Quando è arrivato il momento di importare il modello per creare un nuovo progetto, non sono riuscito a capire come farlo. Alla fine ho dovuto usare la barra di ricerca nella finestra di dialogo Nuovo progetto per individuare il modello.
Tawab Wakil,

6

Immagino che se fai qualcosa di frequente, c'è una piccola utility (non gratuita) che promette di farlo per te: non l'ho usato, quindi non sono sicuro di quanto sia buono:

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

C'è anche questo progetto su CodePlex:

http://clone.codeplex.com/

Probabilmente proverò il progetto codeplex e, se non funziona, rinominerò manualmente tutto e modificherò il file sln.


L'app codeplex "Solution Clone" funziona abbastanza bene. Copia e rinomina tutti i file della soluzione e conserva tutti i riferimenti. L'unica cosa che dovevo fare era reindirizzarlo al nuovo file di progetto rinominato dopo aver aperto la soluzione copiata e quindi rinominare il nome dell'assembly e lo spazio dei nomi radice nelle proprietà del progetto. Tuttavia, è stato molto più semplice che fare tutto manualmente.
Fütemire,

4

E 'altamente consigliabile per copiare progetti a tutti perché i alcuni file di configurazione formate internamente come Csproj, .vspscc ecc può (e molto probabilmente sarà) punto di riferimento che appartengono alla posizione e altri percorsi precedenti Solutions / luoghi in sistema o TFS. A meno che tu non sia un esperto nella lettura di questi file e nella correzione dei riferimenti, non provare a copiare i progetti.

Puoi creare un progetto scheletrico dello stesso tipo che intendi copiare, questo crea un file .csproj, .vspscc corretto . Ora sei libero di copiare i file di classe, gli script e altri contenuti del progetto precedente in quanto non avranno alcun impatto. Ciò garantirà un controllo uniforme della versione e della compilazione (se dovessi scegliere di essere interessato a questo)

Detto questo, lascia che ti dia il metodo per copiare il progetto comunque in modo graduale:

  1. Vai al progetto che desideri copiare in Esplora soluzioni e fai clic con il pulsante destro del mouse .
  2. Ora seleziona " Apri cartella in Esplora file " (Supponendo che la soluzione sia mappata su un percorso locale sul disco).
  3. Seleziona i progetti che vuoi replicare come intere cartelle (insieme a tutte le dipendenze, file bin .vspscc, file .csproj)
  4. Incollali nella posizione desiderata (potrebbe essere la stessa cartella della soluzione o anche un'altra cartella della soluzione. Se si trova nella stessa cartella della soluzione, ti verrà richiesto di rinominarlo, anche .csproj e altri file interni con il nuovo nome ).
  5. Non tornare a Visual Studio, fare clic con il tasto destro del mouse su Soluzione> Aggiungi> Progetto esistente ...
  6. Sfoglia e seleziona il file di progetto (file .csproj) ora dalla posizione in cui lo hai inserito e seleziona ' apri '
  7. Questo file ora viene visualizzato in Esplora soluzioni per consentirti di lavorare.

Ora potresti dover risolvere alcuni errori di compilazione probabilmente con riferimenti e cose duplicati / mancanti, ma per il resto è incontaminato nella logica e nella struttura come ti aspettavi che fosse.


2
Aggiornamento: la migliore risposta a partire dal 2019, è la seguente di @Shane. Creare modelli VS è il modo perfetto per clonare progetti senza problemi di riferimento.
Vikram K,

3

Seguo questi passaggi e utilizzo lo strumento di sviluppo chiamato Resharper , che è fantastico a proposito:

Così,

  1. Copia la cartella del progetto esistente nella destinazione desiderata
  2. Vai al controllo del codice sorgente e fai clic con il pulsante destro del mouse sulla cartella principale desiderata e seleziona "Aggiungi elementi alla cartella ...". Quindi, verrà visualizzata una procedura guidata per scegliere i file da copiare (non è necessario per alcuni file e il procedura guidata ti guida per questo motivo di default).
  3. Modifica il nome del file della soluzione (* .sln)
  4. Cambia i nomi dei sottoprogetti, se presenti.
  5. Utilizzare Resharper per modificare gli spazi dei nomi di associazione nome degli (farò automaticamente il lavoro sporco con sicurezza). Il modo alternativo è cambiare manualmente tutti gli spazi dei nomi con il nuovo nome.
  6. La stessa azione con i nomi dei metodi.
  7. Controllare le proprietà della soluzione se si desidera modificare.

Questo è tutto. Sei pronto!!!


1

Il modo migliore è in realtà creare un nuovo progetto da zero, quindi andare nella cartella con i file di progetto su cui si desidera copiare (progetto, form1, tutto tranne le cartelle). Rinominare i file (ad eccezione dei file form1) ad esempio: ho copiato i file Ch4Ex1 nel mio progetto Ch4Ex2 ma prima ho rinominato i file in Ch4Ex2. Copia e incolla quei file in Esplora soluzioni per il nuovo progetto in Visual Studio. Quindi sovrascrivi i file e dovresti essere a posto!

Vecchio thread ma spero che possa aiutare chiunque cerchi questa risposta!


0

Ho un progetto in cui i file di origine si trovano in una cartella sotto la cartella del progetto. Quando ho copiato la cartella del progetto senza la cartella di origine e ho aperto il progetto copiato, i file di origine non mancano ma si trovano nella posizione precedente. Ho chiuso il progetto, copiato anche la cartella di origine e riaperto il progetto. Ora, il progetto fa magicamente riferimento ai file sorgente copiati (sia il nuovo percorso apparso su "salva con nome" sia una modifica in un file sono stati salvati nella versione copiata).

C'è un avvertimento: se non entrambe le cartelle di progetto vecchie e nuove si trovano sotto una cartella di libreria usata, la magia sopra menzionata scarta anche il riferimento assoluto alla libreria e si aspetta che si trovi nello stesso percorso relativo.

Ho provato questo con VS Express 2012.


0

La mia soluzione è un po 'diversa: il computer su cui risiedeva il pacchetto è morto e quindi sono stato costretto a ricrearlo su un altro computer.

Quello che ho fatto (in VS 2008) è stato aprire i seguenti file nella mia directory:

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

Quando l'ho fatto, una finestra popup mi ha chiesto se il file sln sarebbe stato una nuova soluzione e quando ho fatto clic su "Sì" tutto ha funzionato perfettamente.


0

Dopo aver provato le soluzioni precedenti e aver creato una copia per i progetti MVC

Per i progetti MVC, aggiornare i numeri di porta nel file .csproj, è possibile consultare iis applicationhost.config per verificare i numeri di porta. Gli stessi numeri di porta causeranno problemi di caricamento degli assembly in IIS.


0

Seguendo la risposta di Shane sopra (che funziona alla grande) ...

Potresti incontrare una serie di triangoli gialli nell'elenco di riferimento. La maggior parte di questi può essere eliminata da un Build->Clean Solutione Build->Rebuild Solution.

Mi è capitato di avere alcuni riferimenti API di Google che erano un po 'più testardi.

Il tentativo di reinstallare il pacchetto NuGet della stessa versione non ha funzionato.
Visual Studio pensa che tu l'abbia già installato.

Per ovviare a questo:
1: annotare la versione originale.
2: Installa la versione successiva successiva ... quindi disinstallala.
3: Installa la versione originale dal passaggio # 1.


0

Uso Visual Studio 2013 dove Progetto> Esporta modello non è un'opzione. Ecco cosa uso per clonare un progetto.

Dalla tua soluzione: File> Esporta modello> seleziona progetto da cui creare il modello, nota il percorso di salvataggio

Scarica e installa VS 2013 SDK qui

Creare un nuovo progetto VSIX in Estensibilità

Dalla finestra di dialogo VSIXManifest selezionare la scheda Risorse

Compila la casella di testo Autore

Scegli "Modello di progetto" per Tipo e Sfoglia per aggiungere il modello esportato (salvato nel percorso annotato nel passaggio 1)

Salvare e creare il progetto VSIX. Passare alla cartella ... / bin / Debug del progetto VSIX e fare doppio clic per eseguire il file .vsix

Avvia la nuova istanza di Visual Studio e dovresti vedere il tuo modello sotto qualunque tipo di progetto sia il tuo modello. Crea un nuovo progetto dal tuo modello

Dovrai aggiungere nuovamente eventuali riferimenti dll


0

Il modo più semplice per farlo sarebbe esportare il progetto come modello e salvarlo nella posizione predefinita del modello. Quindi, copia il modello nella stessa identica directory nella posizione in cui desideri spostarlo. Successivamente, apri Visual Studio nella nuova posizione, crea un nuovo progetto e ti verrà richiesto di cercare un modello. Cerca qualunque cosa tu abbia chiamato il modello, selezionalo e il gioco è fatto!

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.