คำถามติดแท็ก badimageformatexception

19
“ มีความพยายามในการโหลดโปรแกรมด้วยรูปแบบที่ไม่ถูกต้อง” แม้ว่าแพลตฟอร์มจะเหมือนกันก็ตาม
ฉันกำลังเรียกใช้ฟังก์ชันจาก DLL ที่ไม่มีการจัดการ 32 บิตในระบบ 64 บิต สิ่งที่ฉันได้รับคือ: BadImageFormatException: มีความพยายามในการโหลดโปรแกรมด้วยรูปแบบที่ไม่ถูกต้อง (ข้อยกเว้นจาก HRESULT: 0x8007000B) ตอนแรกฉันตั้งโปรเจคของฉันเป็นแพลตฟอร์มใด ๆ ของ CPU ดังนั้นฉันจึงเปลี่ยนทั้งสองเป็น x86 แต่ข้อผิดพลาดนี้ยังคงเกิดขึ้น นั่นเป็นสิ่งเดียวที่ฉันรู้ในเรื่องนี้ DLLs ไม่เสียหายหรืออะไรเพราะฉันสามารถใช้พวกเขากับโปรแกรมอื่น ๆ (ที่ฉันไม่มีที่มา) ฉันคิดว่าบางทีมันอาจจะไม่ได้รับการอ้างอิง แต่ฉันตรวจสอบและพวกเขาทั้งหมดอยู่ที่นั่น นอกจากนี้จะไม่โยนDllNotFoundExceptionในกรณีนี้หรือไม่? ฉันจะทำอะไรได้อีก และก่อนที่คุณจะพูดว่า "ใช้ DLL ที่ไม่มีการจัดการ 64 บิตแทน" ให้ฉันชี้ให้เห็นว่าไม่มี ;)

26
ไม่สามารถโหลดไฟล์หรือชุดประกอบ ... มีความพยายามในการโหลดโปรแกรมด้วยรูปแบบที่ไม่ถูกต้อง (System.BadImageFormatException)
ฉันมีสองโครงการProjectAและProjectB. เป็นโปรแกรมที่คอนโซลซึ่งขึ้นอยู่กับProjectB ProjectAเมื่อวานทุกอย่างทำงานได้ดี แต่ทันใดนั้นวันนี้เมื่อฉันทำงานProjectBฉันได้รับสิ่งนี้: BadImageFormatException ไม่ สามารถจัดการได้ : ไม่สามารถโหลดไฟล์หรือแอสเซมบลี 'ProjectA, เวอร์ชัน = 1.0.0.0, Culture = neutral, PublicKeyToken = null' หรือการอ้างอิงอย่างใดอย่างหนึ่ง มีความพยายามในการโหลดโปรแกรมด้วยรูปแบบที่ไม่ถูกต้อง ทั้งสองเป็นเพียงโครงการปกติโดยไม่มีการพึ่งพาโครงการอื่น ๆ ที่ไม่ใช่. Net ทั้งคู่เป็นแบบ. Net - ไม่มีรหัสเนทีฟและไม่มี P / Invoke ฉันมีโครงการอื่นที่ต้องพึ่งพาProjectAและยังทำงานได้ดี สิ่งที่ฉันได้ลอง: ตรวจสอบให้แน่ใจว่าทั้งสองโปรเจ็กต์ถูกตั้งค่าเป็น "CPU ใด ๆ " โดยที่เช็กบ็อกซ์บิลด์ถูกตรวจสอบ พวกเขาคือ. ตรวจสอบให้แน่ใจว่าทั้งโครงการสำหรับเป้าหมายกรอบเดียวกัน(สุทธิโปรไฟล์ 4.0 Client) ภายใต้ ProjectB -> การอ้างอิง -> ProjectA …
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.