Saya ingin tahu
Dalam proyek C # atau VB.NET kita harus memasukkan folder PAKET (folder paket nugget yang dibuat ke root proyek saya yang berisi file nupkg dan konten lainnya) ke repositori kontrol sumber kami (misalnya Git).
c#
version-control
git
vb.net
Bastien Vandamme
sumber
sumber
Jawaban:
Banyak waktu telah berlalu, dan NuGet telah berubah, jadi inilah jawaban baru.
NuGet tidak lagi membuat folder paket di dalam struktur sumber Anda. Sebaliknya ada satu di direktori pengguna Anda (
%HOME%\.nuget\packages
lebih spesifik) di mana ia meletakkan semua paket yang diunduh, dan proyek hanya referensi ini.Jadi jawaban sederhana hari ini adalah tidak, Anda seharusnya tidak. Jika Anda khawatir tentang paket yang harus Anda hapus, Anda harus membuat mirror NuGet lokal yang Anda buat cadangannya secara terpisah.
sumber
Tergantung.
Periksa jawaban Bart van Ingen Schenau untuk menentukan apakah mungkin untuk mengabaikan
packages
folder sama sekali.Pada dasarnya: ya, NuGet dirancang sehingga Anda dapat mengabaikan
packages
folder dan NuGet akan menarik segala sesuatu dari Internet jika hilang.Tetapi haruskah Anda mengabaikannya? Saya katakan: itu tergantung.
IMO itu pertanyaan "bisakah kita terus bekerja jika repositori paket tidak tersedia" (baik sementara atau permanen)
Untuk proyek OSS pribadi saya,
packages
folder saya diabaikan semuanya.Ketika nuget.org sedang offline, saya hanya akan menunggu dan melanjutkan hari lain.
Tapi ini sesuatu yang berbeda di tempat kerja.
Tentu, Anda mungkin masih memiliki paket-paket secara lokal pada beberapa mesin, tetapi apakah menghemat beberapa ruang tidak ada masalah ketika build Anda rusak karena server build Anda tidak dapat menjangkau nuget.org?
Kami memutuskan bahwa ruang murah dan kami tidak ingin kerumitan, itu sebabnya kami melakukan
packages
folder ke kontrol sumber.sumber
Aturan dasar untuk apa yang masuk ke repositori kontrol sumber adalah Anda menyimpan di sana segala sesuatu yang berkaitan dengan proyek yang Anda perlukan untuk dapat membangun, menguji, menyebarkan dan menjalankan proyek dan yang tidak dapat dihasilkan dari item-item yang sudah ada dalam repositori .
Dengan kata lain, jika Anda dapat membuang folder PAKET dan isinya tanpa memengaruhi kemampuan Anda, terus mengerjakan proyek (pembuatan mungkin memakan waktu lebih lama, tetapi Anda tidak perlu memburu dan menginstal sendiri), maka folder tersebut dapat ditinggalkan dengan aman dari repositori.
Jika folder tersebut berisi paket pihak ketiga yang mungkin membutuhkan waktu lama untuk diunduh atau yang mungkin tidak tersedia, maka itu mungkin menjadi alasan untuk menambahkannya ke repositori Anda.
sumber