Saya memiliki file solusi c # besar (~ 100 proyek), dan saya mencoba untuk meningkatkan waktu pembuatan. Saya pikir "Copy Local" boros dalam banyak kasus bagi kami, tetapi saya bertanya-tanya tentang praktik terbaik.
Dalam .sln, kami memiliki aplikasi A tergantung pada rakitan B yang tergantung pada rakitan C. Dalam kasus kami, ada lusinan "B" dan beberapa "C". Karena ini semua termasuk dalam .sln, kami menggunakan referensi proyek. Semua majelis saat ini membangun $ (SolutionDir) / Debug (atau Rilis).
Secara default, Visual Studio menandai referensi proyek ini sebagai "Salin Lokal", yang menghasilkan setiap "C" disalin ke $ (SolutionDir) / Debug sekali untuk setiap "B" yang membangun. Ini sepertinya boros. Apa yang salah jika saya mematikan "Salin Lokal"? Apa yang dilakukan orang lain dengan sistem besar?
MENGIKUTI:
Banyak tanggapan menyarankan untuk memecah bangunan menjadi file .sln yang lebih kecil ... Pada contoh di atas, saya akan membangun kelas dasar "C" terlebih dahulu, diikuti oleh sebagian besar modul "B", dan kemudian beberapa aplikasi, " SEBUAH". Dalam model ini, saya perlu memiliki referensi non-proyek untuk C dari B. Masalah yang saya temui adalah bahwa "Debug" atau "Release" dimasukkan ke jalur petunjuk dan saya akhirnya membangun build rilis saya dengan "B" terhadap debug membangun "C".
Bagi Anda yang membagi bangunan menjadi beberapa file .sln, bagaimana Anda mengelola masalah ini?
<Private>True</Private>
di csproj?
.sln
menjadi yang lebih kecil mematahkan perhitungan interdependensi automagic VS <ProjectReference/>
s. Saya telah pindah dari beberapa yang lebih kecil .sln
menjadi satu yang besar .sln
sendiri hanya karena VS menyebabkan lebih sedikit masalah dengan cara itu ... Jadi, mungkin tindak lanjutnya dengan mengasumsikan solusi yang belum tentu terbaik untuk pertanyaan awal? ;-)