Proyek Fotokopi Visual Studio


141

Saya ingin membuat salinan proyek saya. Saya lebih suka tidak mulai melakukannya dari awal dengan menambahkan file dan referensi, dll. Harap dicatat bahwa saya tidak bermaksud menyalin untuk digunakan. Salinan biasa saja.

Apakah ada alat di VS untuk melakukan ini? Saya menggunakan VS 2008

Jawaban:


144

Jika Anda ingin salinan, cara tercepat untuk melakukan ini adalah menyimpan proyek. Kemudian buat salinan dari semua yang ada di Sistem File. Kembali ke Visual Studio dan buka salinannya. Dari sana, saya kemungkinan besar akan merekomendasikan penamaan ulang proyek / solusi sehingga Anda tidak memiliki dua nama yang sama, tetapi itu adalah cara tercepat untuk membuat salinan.


25
Apa yang terjadi dengan ProjectGUID?
Lars Corneliussen

4
Jangan lupa untuk menghapus file svn jika Anda punya (iya!) -> weblogs.asp.net/jgalloway/archive/2007/02/24/…
qbantek

51
GUID proyek diperbarui oleh VS secara otomatis, jika proyek lain dengan GUID yang sama ada di solusi yang sama.
Sebastian Krysmanski

3
Saya mencoba ini, tetapi tidak mengubah nama ruang aplikasi. Bukan apa yang saya cari.
Jason

3
Project GUID NOT AUTOMATICALLY UPDATED BY VS di Komunitas 2017 Versi 15.8.4 Bahkan, bagaimana mungkin jika AssemblyInfo.cs Anda dalam kontrol kode sumber?
PeterVermont

134

Cukup buat templat ;

Dari proyek Anda pilih: Proyek - Template Ekspor

Wizard akan membiarkan Anda menentukan

  • Nama templat
  • Deskripsi Templat
  • Ikon
  • Pratinjau gambar

Kemudian ritsleting proyek Anda ke direktori 'My Exported Templates'. Anda juga memiliki opsi untuk membuat templat Anda tersedia ketika Anda membuat proyek baru.

Ketika Anda menggunakan template Anda untuk membuat proyek baru, namespace akan benar untuk 'your_new_project_name' di seluruh setiap file, semua referensi benar, semuanya sempurna :)

Anda dapat mengirim file .zip ke siapa pun, dan mereka harus menyalin (bukan unzip) file .zip ke direktori Templates \ ProjectTemplates agar mereka dapat menggunakannya juga.

Saya membuat template ASP.NET MVC dengan folder, halaman tata letak, viewmodels dll mengatur bagaimana saya menyukainya.

CATATAN:
Jika Anda memiliki folder kosong di proyek Anda, itu TIDAK AKAN ditambahkan ke template, jadi saya hanya menambahkan kelas kosong yang sesuai untuk setiap folder, dan contoh gambar untuk folder gambar.


28
IMO, jawaban terbaik.
fischgeek

14
Dalam VS2017 Template Ekspor berada di bawah item menu Proyek tingkat atas.
Choco

3
Ini sangat berguna, bagaimana saya tidak tahu tentang ini sebelumnya? Terima kasih!
Aldarrion

5
Ini harus menjadi jawaban yang dipilih. Sangat mudah! Proses ini seharusnya juga menyalinnya ke folder Templates \ ProjectTemplates Anda, pastikan saja. Saya harus me-restart Visual Studio saya untuk melihatnya di dialog pembuatan proyek saya.
midoriha_senpai

3
Ketika tiba saatnya mengimpor template untuk membuat proyek baru, saya tidak tahu bagaimana cara melakukannya. Ternyata saya harus menggunakan bilah pencarian di dialog Proyek Baru untuk menemukan templat.
Tawab Wakil

6

Saya kira jika ini adalah sesuatu yang sering Anda lakukan, ada utilitas kecil (tidak gratis) yang menjanjikan untuk melakukannya untuk Anda: Saya belum pernah menggunakannya, jadi tidak yakin seberapa bagusnya:

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

Ada juga proyek ini di CodePlex:

http://clone.codeplex.com/

Saya mungkin akan mencoba proyek codeplex, dan jika tidak berhasil saya akan secara manual mengubah nama semuanya dan mengedit file sln.


Aplikasi codeplex "Solution Clone" bekerja cukup baik. Ini menyalin dan mengganti nama semua file solusi dan menyimpan semua referensi. Satu-satunya hal yang perlu saya lakukan adalah mengembalikannya ke file proyek yang diganti nama baru setelah membuka solusi yang disalin dan kemudian mengubah nama perakitan dan root namespace di properti proyek. Itu jauh lebih mudah daripada melakukan semuanya secara manual.
Fütemire

4

Sangat TIDAK DISARANKAN untuk menyalin proyek sama sekali karena beberapa file konfigurasi yang dibentuk secara internal seperti .csproj, .vspscc dll. Mungkin (dan kemungkinan besar akan) menunjuk ke referensi yang termasuk lokasi solusi sebelumnya dan jalur / lokasi lain dalam sistem atau TFS. Kecuali Anda ahli membaca file-file ini dan memperbaiki referensi, jangan mencoba untuk menyalin proyek.

Anda dapat membuat proyek kerangka dari jenis yang sama yang ingin Anda salin, ini membuat file .csproj, .vspscc yang tepat . Sekarang Anda bebas menyalin file kelas, skrip, dan konten lainnya dari proyek sebelumnya karena tidak akan berdampak. Ini akan memastikan kontrol versi dan pembangunan yang mulus (jika Anda memilih untuk tertarik dengan itu)

Setelah mengatakan semua ini, izinkan saya memberi Anda metode untuk menyalin proyek dengan cara langkah-bijaksana:

  1. Buka proyek yang ingin Anda salin di penjelajah solusi dan klik kanan .
  2. Sekarang pilih ' Buka Folder di File Explorer ' (Dengan asumsi Anda memiliki solusi yang dipetakan ke jalur lokal pada disk Anda).
  3. Pilih Proyek yang ingin Anda tiru sebagai seluruh folder (bersama dengan semua dependensi, file .vspscc, file .csproj)
  4. Rekatkan di lokasi yang Anda inginkan (bisa berupa folder solusi yang sama atau bahkan folder solusi lain. Jika berada dalam folder solusi yang sama, maka Anda akan diminta untuk mengganti namanya, juga .csproj dan file internal lainnya dengan nama baru ).
  5. Tidak kembali ke Visual Studio, Klik kanan pada Solusi> Tambah> Proyek yang Ada ...
  6. Jelajahi dan pilih file Proyek (file .csproj) sekarang dari lokasi Anda meletakkannya dan pilih ' buka '
  7. File ini sekarang muncul di explorer solusi bagi Anda untuk bekerja.

Anda sekarang mungkin harus menyelesaikan beberapa kesalahan build mungkin dengan duplikat / referensi yang hilang dan hal-hal tetapi sebaliknya itu masih murni dalam logika dan struktur seperti yang Anda harapkan.


2
Pembaruan: Jawaban terbaik pada 2019, adalah yang di bawah ini oleh @Shane. Membuat VS Template adalah cara sempurna untuk mengkloning proyek tanpa masalah referensi.
Vikram K

3

Saya mengikuti langkah-langkah ini dan saya menggunakan alat pengembangan yang disebut Resharper , yang luar biasa:

Begitu,

  1. Salin folder proyek yang ada ke tujuan yang Anda inginkan
  2. Buka kontrol sumber dan dengan klik kanan hanya ke folder root yang Anda inginkan dan pilih "Tambahkan item ke folder ...". Kemudian, seorang penyihir akan muncul untuk memilih file yang akan disalin (tidak perlu untuk beberapa file dan wizard memandu Anda untuk alasan itu secara default).
  3. Ubah nama file solusi (* .sln)
  4. Ubah nama-nama sub proyek jika ada.
  5. Gunakan Resharper untuk mengubah nama namespace yang mengikat (saya akan secara otomatis melakukan pekerjaan kotor dengan aman). Cara alternatifnya adalah dengan mengubah secara manual semua ruang nama dengan nama baru.
  6. Tindakan yang sama dengan nama metode.
  7. Periksa properti solusi jika Anda ingin mengubah.

Itu dia. Kamu siap!!!


1

Cara terbaik sebenarnya adalah membuat Proyek baru dari awal, lalu masuk ke folder dengan file proyek yang ingin Anda salin (project, form1, semuanya kecuali folder). Ganti nama file (Kecuali untuk file form1) misalnya: Saya menyalin file Ch4Ex1 ke proyek Ch4Ex2 saya tetapi pertama-tama mengganti nama file menjadi Ch4Ex2. Salin dan tempel file-file itu ke Solution Explorer untuk proyek baru di Visual Studio. Maka cukup timpa file dan Anda harus baik untuk pergi!

Utas lama tapi saya harap ini membantu siapa pun yang mencari jawaban ini!


0

Saya punya proyek di mana file sumber berada di dalam folder di bawah folder proyek. Ketika saya menyalin folder proyek tanpa folder sumber dan membuka proyek yang disalin, file-file sumber tidak hilang tetapi ditemukan di lokasi yang lama. Saya menutup proyek, menyalin juga folder sumber, dan membuka kembali proyek. Sekarang, proyek secara ajaib mereferensikan file sumber yang disalin (kedua jalur baru muncul di "save as" dan perubahan dalam file telah disimpan dalam versi yang disalin).

Ada peringatan: Jika tidak semua folder proyek lama dan baru berada di bawah folder perpustakaan yang digunakan, sihir yang disebutkan di atas juga merupakan referensi absolut ke perpustakaan dan mengharapkannya di bawah jalur relatif yang sama.

Saya mencoba ini dengan VS Express 2012.


0

Solusi saya sedikit berbeda - komputer tempat paket itu mati dan saya terpaksa membuatnya kembali di komputer lain.

Apa yang saya lakukan (dalam VS 2008) adalah membuka file berikut di direktori saya:

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

Ketika saya melakukan ini, sebuah jendela sembulan bertanya apakah file sln akan menjadi solusi baru dan ketika saya mengklik 'ya' semuanya bekerja dengan baik.


0

Setelah mencoba solusi di atas & membuat salinan untuk proyek MVC

Untuk proyek MVC silakan perbarui nomor port dalam file .csproj, Anda dapat mengambil bantuan iis applicationhost.config untuk memeriksa nomor port. Nomor port yang sama akan menyebabkan masalah pemuatan perakitan di IIS.


0

Mengikuti jawaban Shane di atas (yang bekerja dengan baik BTW) ...

Anda mungkin menemukan banyak segitiga kuning di daftar referensi. Sebagian besar dari ini dapat dihilangkan dengan a Build->Clean Solutiondan Build->Rebuild Solution.

Saya kebetulan memiliki beberapa referensi Google API yang sedikit lebih keras kepala.

Mencoba menginstal ulang paket NuGet dari versi yang sama tidak berhasil.
Visual Studio berpikir Anda sudah menginstalnya.

Untuk menyiasatinya:
1: Tuliskan versi aslinya.
2: Instal versi yang lebih tinggi berikutnya ... lalu hapus instalannya.
3: Instal versi asli dari langkah # 1.


0

Saya menggunakan Visual Studio 2013 di mana Project> Ekspor Template bukan opsi. Inilah yang saya gunakan untuk mengkloning suatu proyek.

Dari solusi Anda: File> Ekspor Template> pilih proyek untuk membuat template, catat save path

Unduh dan pasang VS 2013 SDK Di Sini

Buat proyek VSIX baru di bawah Extensibility

Dari Dialog VSIXManifest, pilih tab Aset

Isi kotak teks Penulis

Pilih "Project Template" untuk Type dan Browse untuk menambahkan template yang diekspor (disimpan di jalur yang Anda catat di langkah 1)

Simpan dan bangun proyek VSIX. Buka folder proyek VSIX ... / bin / Debug dan klik dua kali untuk menjalankan file .vsix

Mulai instance baru dari Visual Studio dan Anda akan melihat template Anda di bawah jenis proyek apa pun template Anda. Buat proyek baru dari templat Anda

Anda harus menambahkan kembali referensi dll


0

Cara termudah untuk melakukannya adalah dengan mengekspor proyek sebagai templat dan menyimpannya ke lokasi templat default. Kemudian, salin templat ke direktori yang sama persis di lokasi yang Anda inginkan. Setelah itu, buka studio visual di lokasi baru, buat proyek baru, dan Anda akan mendapatkan prompt untuk mencari templat. Cari apa pun yang Anda beri nama templat, pilih dan selesai!

Dengan menggunakan situs kami, Anda mengakui telah membaca dan memahami Kebijakan Cookie dan Kebijakan Privasi kami.
Licensed under cc by-sa 3.0 with attribution required.