Apakah praktik terbaik untuk memasukkan file .sln ke kontrol sumber? Kapan tepat atau tidak tepat untuk melakukannya?
Pembaruan Ada beberapa poin bagus yang dibuat dalam jawaban. Terima kasih atas tanggapannya!
Apakah praktik terbaik untuk memasukkan file .sln ke kontrol sumber? Kapan tepat atau tidak tepat untuk melakukannya?
Pembaruan Ada beberapa poin bagus yang dibuat dalam jawaban. Terima kasih atas tanggapannya!
Jawaban:
Saya pikir jelas dari jawaban lain bahwa file solusi berguna dan harus dilakukan, bahkan jika tidak digunakan untuk build resmi. Mereka berguna untuk siapa saja yang menggunakan fitur Visual Studio seperti Go To Definition / Declaration.
Secara default, mereka tidak berisi jalur absolut atau artefak khusus mesin lainnya. (Sayangnya, beberapa alat tambahan tidak memelihara properti ini dengan baik, misalnya, AMD CodeAnalyst.) Jika Anda berhati-hati menggunakan jalur relatif dalam file proyek Anda (baik C ++ dan C #), mereka akan menjadi mesin-independen terlalu.
Mungkin pertanyaan yang lebih berguna adalah: file apa yang harus Anda kecualikan? Berikut konten file .gitignore saya untuk proyek VS 2008 saya:
(Entri terakhir hanya untuk profiler AMD CodeAnalyst.)
Untuk VS 2010, Anda juga harus mengecualikan yang berikut ini:
sumber
Ya - Saya pikir itu selalu tepat. Pengaturan khusus pengguna ada di file lain.
sumber
Ya, Anda harus melakukan ini. File solusi hanya berisi informasi tentang keseluruhan struktur solusi Anda. Informasi bersifat global untuk solusi dan kemungkinan umum bagi semua pengembang dalam proyek Anda.
Itu tidak berisi pengaturan khusus pengguna.
sumber
Anda pasti harus memilikinya. Di samping alasan yang disebutkan orang lain, diperlukan satu langkah untuk membangun keseluruhan proyek.
sumber
Saya biasanya setuju bahwa file solusi harus diperiksa, namun, di perusahaan tempat saya bekerja, kami telah melakukan sesuatu yang berbeda. Kami memiliki repositori yang cukup besar dan pengembang mengerjakan berbagai bagian sistem dari waktu ke waktu. Untuk mendukung cara kami bekerja, kami akan memiliki satu file solusi besar atau beberapa yang lebih kecil. Keduanya memiliki beberapa kekurangan dan membutuhkan pekerjaan manual di pihak pengembang. Untuk menghindari ini, kami telah membuat plug-in yang menangani semua itu.
Plug-in memungkinkan setiap pengembang memeriksa subset dari pohon sumber untuk dikerjakan hanya dengan memilih proyek yang relevan dari repositori. Plugin kemudian menghasilkan file solusi dan mengubah file proyek dengan cepat untuk solusi yang diberikan. Ini juga menangani referensi. Dengan kata lain, yang harus dilakukan pengembang adalah memilih proyek yang sesuai dan kemudian file yang diperlukan dibuat / dimodifikasi. Ini juga memungkinkan kami menyesuaikan berbagai pengaturan lain untuk memastikan standar perusahaan.
Selain itu, kami menggunakan plugin untuk mendukung berbagai kebijakan check-in, yang biasanya mencegah pengguna mengirimkan kode yang salah / tidak sesuai ke repositori.
sumber
Ya, hal-hal yang harus Anda lakukan adalah:
Hal-hal yang tidak boleh Anda lakukan adalah:
Mengenai file yang dibuat secara otomatis lainnya, ada utas terpisah .
sumber
Ya, ini harus menjadi bagian dari kendali sumber. Kapan pun Anda menambahkan / menghapus proyek dari aplikasi Anda, .sln akan diperbarui dan akan lebih baik jika Anda memilikinya di bawah kendali sumber. Ini akan memungkinkan Anda untuk menarik kembali versi kode aplikasi 2 Anda dan langsung melakukan build (jika diperlukan).
sumber
Di sebagian besar situasi, sebaiknya komit file .sln ke kontrol sumber.
Jika file .sln Anda dibuat oleh alat lain (seperti CMake), mungkin tidak tepat untuk menempatkannya ke dalam kontrol sumber.
sumber
Ya, Anda selalu ingin menyertakan file .sln, ini menyertakan tautan ke semua proyek yang ada dalam solusi.
sumber
Kami melakukannya karena itu membuat semuanya tetap sinkron. Semua proyek yang diperlukan ditempatkan bersama, dan tidak ada yang perlu khawatir kehilangan satu pun. Server build kami (Ant Hill Pro) juga menggunakan sln untuk menentukan project mana yang akan dibuat untuk rilis.
sumber
Kami biasanya meletakkan semua file solusi kami di direktori solusi. Dengan cara ini kami memisahkan solusi dari kode sedikit, dan lebih mudah untuk memilih proyek yang perlu saya kerjakan.
sumber
Satu-satunya kasus di mana Anda bahkan akan mempertimbangkan untuk tidak menyimpannya dalam kontrol sumber adalah jika Anda memiliki solusi besar dengan banyak proyek yang berada dalam kendali sumber, dan Anda ingin membuat solusi kecil dengan beberapa proyek dari solusi utama untuk beberapa persyaratan transien pribadi.
sumber
Ya - Semua yang digunakan untuk menghasilkan produk Anda harus berada dalam kendali sumber.
sumber
Kami menyimpan atau menyelesaikan file dalam Kontrol Versi TFS. Tetapi karena atau solusi utama sangat besar, sebagian besar pengembang memiliki solusi pribadi yang hanya berisi apa yang mereka butuhkan. File solusi utama sebagian besar digunakan oleh server build.
sumber
.slns adalah satu-satunya hal yang tidak bermasalah di tfs!
sumber