Apa perbedaan antara Build Solution, Rebuild Solution, dan Clean Solution di Visual Studio?
Kapan waktu yang tepat untuk menggunakan masing-masing?
Apa perbedaan antara Build Solution, Rebuild Solution, dan Clean Solution di Visual Studio?
Kapan waktu yang tepat untuk menggunakan masing-masing?
Jawaban:
(Tautan ke switch perintah devenv.exe , tetapi melakukan hal yang sama dengan item menu.)
.gitignore
file yang layak . Tetapi sesuai jawabannya, Bersih tidak selalu melakukan pekerjaan yang sangat menyeluruh dalam pengalaman saya.
Membangun solusi: Mengkompilasi file kode (DLL dan EXE) yang diubah.
Rebuild: Menghapus semua file yang dikompilasi dan mengkompilasinya lagi terlepas dari apakah kode telah berubah atau tidak.
Solusi bersih: Menghapus semua file yang dikompilasi (file DLL dan EXE).
Anda dapat melihat video YouTube ini ( Visual Studio Build vs. Rebuild vs Clean (pertanyaan wawancara # jawaban C) ) di mana saya telah menunjukkan perbedaan dan di bawah ini adalah representasi visual yang akan membantu Anda menganalisis hal yang lebih detail.
Perbedaan antara Rebuild vs. (Clean + Build), karena sepertinya ada beberapa kebingungan di sini:
Perbedaannya adalah cara urutan build dan clean terjadi untuk setiap proyek. Katakanlah solusi Anda memiliki dua proyek, "proj1" dan "proj2". Jika Anda melakukan pembangunan kembali, ia akan mengambil "proj1", bersihkan (hapus) file yang dikompilasi untuk "proj1" dan bangunlah. Setelah itu akan mengambil proyek kedua "proj2", membersihkan file yang dikompilasi untuk "proj2" dan kompilasi "proj2".
Tetapi jika Anda melakukan "clean" and build ", itu pertama-tama akan menghapus semua file yang dikompilasi untuk" proj1 "dan" proj2 "dan kemudian akan membangun" proj1 "pertama diikuti oleh" proj2 ".
Diambil dari tautan ini :
Build berarti mengkompilasi dan menautkan hanya file sumber yang telah berubah sejak build terakhir, sedangkan Rebuild berarti mengkompilasi dan menautkan semua file sumber terlepas dari apakah mereka berubah atau tidak. Membangun adalah hal yang normal untuk dilakukan dan lebih cepat. Terkadang versi komponen target proyek dapat keluar dari sinkronisasi dan membangun kembali diperlukan untuk membuat pembangunan berhasil. Dalam praktiknya, Anda tidak perlu Bersihkan.
Build Solution - Membangun rakitan apa pun yang telah mengubah file. Jika suatu perakitan tidak memiliki perubahan, itu tidak akan dibangun kembali. Juga tidak akan menghapus file perantara.
Digunakan paling umum.
Solusi Rebuild - Membangun kembali semua majelis terlepas dari perubahan tetapi meninggalkan file perantara.
Digunakan ketika Anda melihat bahwa Visual Studio tidak memasukkan perubahan Anda dalam perakitan terbaru. Kadang-kadang Visual Studio membuat kesalahan.
Solusi Bersih - Hapus semua file perantara.
Digunakan ketika semuanya gagal dan Anda perlu membersihkan semuanya dan mulai segar.
Saya hanya berpikir tentang Rebuild sebagai melakukan Clean pertama diikuti oleh Build. Mungkin saya salah ... komentar?
file reference
pengganti, project reference
sehingga pesanan pembangunan proyek tidak mengenalinya untuk membangun proyek tertentu sebelum yang lain, dan perakitan tidak ada di tempat yang seharusnya ada selama membangun?
Build Solution - Membangun rakitan apa pun yang telah mengubah file. Jika suatu perakitan tidak memiliki perubahan, itu tidak akan dibangun kembali. Juga tidak akan menghapus file perantara.
Solusi membangun kembali akan membersihkan dan kemudian membangun solusi dari awal, mengabaikan apa pun yang telah dilakukan sebelumnya
Clean Solution akan menghapus semua file yang dikompilasi (yaitu, EXE dan DLL) dari direktori bin / obj.
Membangun solusi akan membangun proyek apa pun dalam solusi yang telah berubah. Rebuild membangun semua proyek tidak peduli apa pun, solusi bersih menghapus semua file sementara memastikan bahwa pembangunan selanjutnya selesai.
Build Solution - Build solution akan membangun aplikasi Anda dengan membangun sejumlah proyek yang mengalami perubahan file. Dan itu tidak menghapus file biner yang ada dan hanya mengganti rakitan yang diperbarui di folder bin atau obj.
Membangun Kembali Solusi - Rebuild akan membangun seluruh aplikasi Anda dengan membangun semua proyek yang tersedia dalam solusi Anda dengan membersihkannya. Sebelum membangunnya menghapus semua file biner dari folder bin dan obj.
Solusi Bersih - Solusi bersih hanya membersihkan semua file biner dari folder bin dan obj.
Bangun solusi
Ini akan melakukan pembangunan bertahap. Dengan kata lain itu hanya akan membuat file kode yang telah berubah. Jika mereka belum mengubah file-file itu tidak akan disentuh.
Membangun kembali solusi
Ini akan menghapus semua file yang dikompilasi saat ini (yaitu, exe dan DLL) dan akan membangun semuanya dari awal, terlepas dari apakah ada perubahan kode dalam file atau tidak.
Menu solusi bersih
Menu ini akan menghapus semua file yang dikompilasi (yaitu, EXE dan DLL) dari direktori bin / obj.
Rebuild = Bersihkan + Bangun
Satu hal utama yang saya pikir orang-orang tinggalkan adalah Build and Clean adalah kedua tugas yang dilakukan berdasarkan pengetahuan Visual Studio tentang Proyek / Solusi Anda. Saya melihat banyak mengeluh bahwa Bersih tidak berfungsi atau meninggalkan file sisa atau tidak dapat dipercaya, padahal sebenarnya, alasan Anda mengatakan itu tidak dapat dipercaya sebenarnya membuatnya lebih dapat dipercaya.
Bersihkan hanya akan menghapus (membersihkan) file dan / atau direktori yang dibuat oleh Visual Studio atau kompiler sendiri. Jika Anda menyalin file Anda sendiri atau struktur file / folder dibuat dari alat atau sumber luar, maka Visual Studio tidak "tahu mereka ada" dan karena itu, jangan menyentuh mereka.
Bisakah Anda bayangkan jika operasi Clean pada dasarnya melakukan "del *. *"? Ini bisa menjadi bencana besar.
Build melakukan kompilasi pada proyek yang diubah atau perlu.
Rebuild melakukan kompilasi terlepas dari perubahan atau apa yang diperlukan.
Bersihkan menghapus file / folder yang telah dibuat di masa lalu, tetapi meninggalkan apa pun yang tidak ada hubungannya, pada awalnya.
Saya harap ini menguraikan sedikit dan membantu.
Saya punya aa solusi kosong BuildRebuildClean
dan tiga perpustakaan kelas Models
, Repository
, Notification
.
Saya menggunakan Models
dan Repository
di Notification
perpustakaan kelas.
Kemudian:
Models
proyek perpustakaan, maka BUILD solusi. Di cuplikan layar di bawah ini, merujuk pada cap waktu DLL, EXE diperbarui di Models
dan Notification
pustaka.BuildRebuildClean
. Apa yang dilakukannya adalah menghapus semua rakitan, EXE, dan file yang dirujuk untuk dikompilasi lagi.Yang saya tahu adalah Clean tidak melakukan apa yang "bersihkan" dulu - jika saya Bersihkan solusi saya harapkan itu menghapus obj dan bin file / folder yang dibangunnya seperti itu adalah checkout baru dari sumbernya. Dalam pengalaman saya meskipun saya sering menemukan waktu di mana Clean and Build atau Rebuild masih menghasilkan kesalahan aneh pada sumber yang dikenal untuk dikompilasi dan apa yang diperlukan adalah penghapusan manual dari folder bin / obj, maka itu akan dibangun.
Membangun solusi hanya membangun proyek-proyek yang telah berubah dalam solusi, dan tidak mempengaruhi majelis yang belum berubah,
ReBuild membersihkan terlebih dahulu, semua rakitan dari solusi dan kemudian membangun seluruh solusi terlepas dari perubahan yang dilakukan.
Bersih, cukup bersihkan solusinya.
Ini hanya menyangkut opsi "Bangun Solusi".
Saya benar-benar muak dengan ketidakmampuan Visual Studio untuk solusi benar-benar bersih dan menulis alat kecil ini yang akan melakukannya untuk Anda.
Tutup solusi Anda di VS terlebih dahulu dan seret foldernya dari Windows Explorer ke aplikasi ini atau ke ikonnya. Bergantung pada pengaturan di bagian bawah jendelanya, itu juga dapat menghapus hal-hal tambahan, yang akan membantu jika Anda mencoba mengunggah solusi Anda secara manual ke GitHub atau membaginya dengan orang lain:
Singkatnya, ini akan menempatkan semua folder "Debug", Intellisense, dan cache lainnya yang dapat dibangun kembali oleh VS ke Recycle Bin untuk Anda.