Men SDKlar bilan sukut bo'yicha o'rnatilgan ko'plab uchinchi tomon yig'ilishlari bilan ishlayapman. Biroq, Reflection dan foydalanilganda, .NET quyidagi xato bilan ishlamay qoladi “Fayl yoki assembly [Name.dll] yuklanmadi”. Shunday qilib, men 3 ta yechim borligini topdim:
"Mahalliy nusxa" ni yoqing, bu kompilyatorni barcha yig'ilishlarni qurish papkasiga nusxalashga majbur qiladi (fayl hajmini sezilarli darajada oshiradi)
To'g'ridan-to'g'ri uchinchi tomon dastur fayllari jildiga kompilyatsiya qiling, bu .NET ish vaqtiga yig'ilishlarni osongina topish imkonini beradi (chunki ular bir papkada). Bu o'rnatishni boshqarishni qiyinlashtiradi, chunki 2 ta ilova umumiy papkaga ega.
Uchinchi tomon yig'ilishlarining ko'p qismini GACga qo'shing (gacutil yordamida) va kuchli nomidan foydalanib, unga havola qiling. Ammo bu boshqa turdagi "Fayl topilmadi" xatosini keltirib chiqaradi, ehtimol yig'ilish faqat GAC dan ishlamasligi mumkin, chunki u o'zining asosiy Program Files katalogidagi ba'zi fayllarni talab qiladi.
Shuning uchun men uchinchi tomon yig'ilishlari katalogini .NET ish vaqtiga ko'rsatishning bir yo'li bormi, shuning uchun men o'z ilovamni boshqa joyda kompilyatsiya qilishim va uchinchi tomon yig'ilishlarining yuklarini olib yurishga majbur bo'lmasligim uchun hayronman. (Ular allaqachon oxirgi foydalanuvchi kompyuterlariga o'rnatilgan bo'lar edi)