Seperti yang kita semua tahu, program .net akan menghasilkan .dll file di direktori bin setelah dibuat, tetapi dari mana file .dll.refresh berasal? Saya mencari kebosanan di Google hari itu dan menemukan bahwa ini dibuat secara otomatis saat mereferensikan rakitan pihak ketiga (langsung) dalam proyek Anda, file .refresh ini menyimpan jalur file asli dari file pihak ketiga tersebut, jika dll di bawah jalur ini diperbarui, vs ketika proyek dibuat, rakitan akan diperbarui dan diubah sesuai dengan alamat ini. Tanpa file ini, VS tidak akan dapat memperbarui rakitan yang direferensikan sesuai dengan status terbaru, yang akan menyebabkan masalah versi perakitan salah. Detail kecil akan menyebabkan masalah besar, semua orang perhatikan!
Versi baru situs web dirilis, dan masalah serius ditemukan di mana salah satu perpustakaan tidak diperbarui secara otomatis, tetapi versi usang dibuat secara otomatis.
Setelah diselidiki, ternyata terkait dengan file dll.refresh di VSS.
Alasannya sederhana:
1。 Selama proses pengembangan, ketika referensi DLL eksternal lainnya ditambahkan ke situs web, sistem secara otomatis menghasilkan file refresh, dan file ini tidak akan dihasilkan jika referensi DLL proyek lain ditambahkan di bawah solusi ini
2。 File refresh menentukan jalur untuk memperbarui DLL secara otomatis, dan jika itu adalah referensi pustaka, itu akan menentukan direktori Dubug atau Release, dan file yang error kali ini adalah direktori Debug
3。 Pengembang salah memeriksa file ke basis kode VSS
4。 Masalahnya adalah, pustaka referensi telah berubah berkali-kali setelah rilis versi pertama, tetapi antarmuka tidak berubah, sehingga pustaka dibuat secara terpisah, dan kemudian hanya DLL (versi rilis) yang sesuai dari semua aplikasi yang diperbarui, dan tidak ada masalah, tetapi ketika aplikasi diterbitkan ulang, karena adanya file refresh di direktori BIN proyek, DLL secara otomatis diperbarui dengan jalur yang ditentukan oleh file, yang mengarah pada rilis DLL versi lama (versi Debug).
Pemecahan Masalah:
Hapus file dll.refresh di aplikasi dan publikasikan ulang aplikasi
Atau ubah konten di dll.refresh, dan tulis jalur dll dengan benar
|