Вопрос

Я пытаюсь бежать 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 по:

  1. Открытие менеджера IIS
  2. Нажмите «Расширенные настройки» в пуле вашего приложения.
  3. Набор Включить 32-битные приложения правда

Для более своевременного ответа не стесняйтесь отправлять ссылку на любую услугу, связанные с вопросами ServiceStack Google Group..

Обновление: я забыл добавить: Вам также нужен ваш верхний уровень проекта (т. Е. Ваше веб-приложение ASP.NET), чтобы установить конфигурацию его сборки на X86 (32bit).

Если вы скачаете Последняя версия Servicestack.examples (v2.01) Теперь это должно работать на 64-битных серверах.

Более подробную информацию об этом можно отследить:

https://groups.google.com/d/topic/servicestack/eupqf2ji4ig/discussion.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top