System.badimageFormatexception на запуск примеров Servicestack.
-
09-10-2019 - |
Вопрос
Я пытаюсь бежать ServiceStack Примеры проектов. Когда я запускаю веб-клиент, я получаю следующую ошибку:
{System.BadImageFormatException: An attempt was made to load a program with an
incorrect format. (Exception from HRESULT: 0x8007000B)
at Mono.Data.Sqlite.UnsafeNativeMethods.sqlite3_open_v2(Byte[] utf8Filename,
IntPtr& db, Int32 flags, IntPtr vfs)
at Mono.Data.Sqlite.SQLite3.Open(String strFilename, SQLiteOpenFlagsEnum
flags, Int32 maxPoolSize, Boolean usePool)
at Mono.Data.Sqlite.SqliteConnection.Open()
at ServiceStack.OrmLite.OrmLiteConnection.Open()
at ServiceStack.OrmLite.OrmLiteConnectionFactory.OpenDbConnection()
at ServiceStack.Examples.ServiceInterface.Support.ConfigureDatabase
.Init(IDbConnectionFactory connectionFactory)
in E:\ServiceStack.Examples\src\ServiceStack.Examples\
ServiceStack.Examples.ServiceInterface\Support\ConfigureDatabase.cs:line 23}
Я скачал последние System.data.sqlite.dll файл и попытался использовать его, но получаю все еще ту же ошибку. Я бегу 64-битный VS2010 на окне 7 64-битная коробка.
Решение
Установите цель платформы вашего основного проекта на X86, чтобы исправить это. Это можно сделать под Проект ... -> Свойства -> построить.
SQLLITE, скорее всего, является 32-битным компонентами, и сможет загрузить его приложение, необходимое также 32-битное приложение (64-битные процессы не могут загружать 32-битные компоненты и наоборот).
Другие советы
Это проблема при попытке загрузки 32-битной SQLite.dll с 64битом IIS / ПК.
Чтобы получить его на работу, вам нужно «включить 32-битные приложения» для вашего AppDomain по:
- Открытие менеджера IIS
- Нажмите «Расширенные настройки» в пуле вашего приложения.
- Набор Включить 32-битные приложения правда
Для более своевременного ответа не стесняйтесь отправлять ссылку на любую услугу, связанные с вопросами ServiceStack Google Group..
Обновление: я забыл добавить: Вам также нужен ваш верхний уровень проекта (т. Е. Ваше веб-приложение ASP.NET), чтобы установить конфигурацию его сборки на X86 (32bit).
Если вы скачаете Последняя версия Servicestack.examples (v2.01) Теперь это должно работать на 64-битных серверах.
Более подробную информацию об этом можно отследить:
https://groups.google.com/d/topic/servicestack/eupqf2ji4ig/discussion.