Sistem Penyelesaian Masalah.BadImageFormatException dalam ProjectB
Menjalankan ProjectB menghasilkan System.BadImageFormatException
, menunjukkan ketidakpadanan seni bina antara ProjectB dan pergantungannya, ProjectA. Ini biasanya bermakna satu projek disusun untuk 32-bit (x86) dan satu lagi untuk 64-bit (x64).
Penyelesaian:
Sahkan Seni Bina Sasaran: Semak tetapan binaan untuk ProjectA dan ProjectB dalam Visual Studio. Di bawah sifat projek, navigasi ke tab "Bina" dan periksa "Sasaran platform." Kedua-duanya hendaklah ditetapkan kepada nilai yang sama (cth., "Mana-mana CPU," "x86" atau "x64"). Ketidakkonsistenan di sini adalah punca yang paling biasa.
Sokongan Aplikasi 32-bit IIS (Jika Berkenaan): Jika ProjectB ialah aplikasi web yang digunakan pada IIS, pastikan "Dayakan Aplikasi 32-bit" didayakan dalam Tetapan Lanjutan pengehosan kumpulan aplikasi ProjectB . Ini membolehkan IIS menjalankan aplikasi 32-bit pada sistem 64-bit.
Pelarasan Seni Bina Manual: Jika langkah di atas gagal, laraskan seni bina ProjectA secara manual. Bina semula ProjectA menyasarkan bitness yang sama seperti ProjectB (sama ada x86 atau x64). Gantikan DLL yang sepadan dalam direktori ProjectB dan cuba lagi.
Lumpuhkan Penjanaan Imej Asli (NGen) untuk ProjectA: Penjanaan imej asli kadangkala boleh mencipta imej yang tidak serasi. Untuk melumpuhkan NGen untuk ProjectA, tambahkan bahagian ini pada fail app.config
ProjectB, gantikan "ProjectA, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null"
dengan maklumat pemasangan yang betul untuk ProjectA:
<code class="language-xml"><configuration> <runtime> <gcServer enabled="true" /> <disableNativeImageGeneration> <assemblyIdentity name="ProjectA, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null" /> </disableNativeImageGeneration> </runtime> </configuration></code>
Jika penyelesaian ini tidak menyelesaikan ralat, siasatan lanjut mungkin diperlukan. Rujuk sumber dalam talian (seperti Stack Overflow) untuk teknik penyelesaian masalah yang lebih lanjut.
Atas ialah kandungan terperinci Mengapa Saya Mendapatkan Sistem.BadImageFormatException Semasa Menjalankan ProjectB?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!