Запуск CorFlags.exe против System.Data.SQLite.dll
из http://sqlite.phxsoftware.com/ дает следующий вывод.
Version : v2.0.50727
CLR Header: 2.5
PE : PE32
CorFlags : 24
ILONLY : 0
32BIT : 0
Signed : 1
Как видите, 32BIT
не указано и PE
равно PE32
. Согласно Переход от разработки 32-разрядных к 64-разрядным приложениям на .NET Framework означает, что сборка Любой ЦП . Однако использование сборки из 64-разрядного приложения приводит к ошибке:
System.BadImageFormatException: может
не загружать файл или сборку
'System.Data.SQLite' или один из его
зависимостей. Была сделана попытка
загрузить программу с неверным
формат. Имя файла:
'System.Data.SQLite'
Если CorFlags.exe сообщает Любой ЦП , почему возникает исключение? Неправильно ли помечена сборка с 32BIT: 0
?
Я знаю, что также доступна 64-битная версия, я просто хочу знать, что является причиной ошибки.