ปัญหาตลกๆ ในเรื่อง 32 bit/64 bit
ไม่ได้อัพมานาน วันนี้เจอปัญหาที่แลดูจะน่าตลกมากคือ เรามี 2 Projects อันนึงเป็นงานหลัก อีกอันเป็น DLL Library ที่มา Reference ซึ่งเรื่องตลกคือพอ Compile DLL ออกมาเป็นไฟล์แยก แล้วเอาไปใส่ใน Project แรก โปรแกรมทำงานได้ตามปกติ แต่พอให้ Reference ทั้ง Project เลย มันฟ้อง Error ออกมา "An attempt was made to load a program with an incorrect format" ซึ่งก็น่าตลกเพราะการ Reference Project ควรจะปลอดภัยกว่าเอา DLL ตัวเดี่ยวแยก สรุปปัญหาคือ ปัญหานี้จะเกิดเมื่อ Project หลักมี Target Platform ที่ไม่ตรงกับ DLL เช่นเซ็ตเป็น x86 แต่อีกฝั่งเซ็ตเป็น x64 จริงๆ ปัญหานี้เล็กมาก แต่ผมงงว่าทำไม .NET Framework ถึงสามารถอ้างอิง DLL ที่ Compile แล้วได้หว่า ถ้าปัญหาคือคนละ Platform จริง ก็ควรจะไม่สามารถอ้างอิงได้ทั้งแบบอ้างอิงโปรเจ๊กต์ และอ้างอิง DLL โดยตรง แต่กลายเป็นว่าอ้างอิง DLL โดยตรงได้เฉยเลยซะงั้น ???
Create Date : 30 สิงหาคม 2555 |
Last Update : 30 สิงหาคม 2555 21:24:59 น. |
|
0 comments
|
Counter : 1694 Pageviews. |
|
|