从http://sqlite.phxsoftware.com/运行CorFlags.exeSystem.Data.SQLite.dll
会产生以下输出。
Version : v2.0.50727
CLR Header: 2.5
PE : PE32
CorFlags : 24
ILONLY : 0
32BIT : 0
Signed : 1
如您所见,32BIT
未指定且PE
等于PE32
。根据Moving from 32-bit to 64-bit application development on .NET Framework,这意味着程序集是Any CPU。但是,使用 64 位应用程序的程序集会导致错误:
System.BadImageFormatException:无法加载文件或程序集“System.Data.SQLite”或其依赖项之一。试图加载格式不正确的程序。文件名:'System.Data.SQLite'
如果 CorFlags.exe 报告Any CPU,为什么会发生异常?组件是否错误地标有32BIT: 0
?
我知道也有 64 位版本,我只是想知道是什么导致了错误。