Question

Je suis en train de courir ServiceStack projets Exemples. Quand je lance le client web, je reçois l'erreur suivante:

{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}

J'ai téléchargé le dernier fichier System.Data.SQLite.dll et essayé de l'utiliser, mais je reçois toujours la même erreur. Je suis en cours d'exécution VS2010 64 bits sur Windows 7 boîte 64 bits.

Était-ce utile?

La solution

Définir la cible de la plate-forme de votre projet principal pour x86 résoudre ce problème. Cela peut se faire sous Projet ... -> Propriétés -.> Construire

SqlLite est très probablement un des composants 32 bits, et d'être en mesure de charger vos besoins d'application pour une application 32 bits ainsi (processus 64 bits ne peuvent pas charger des composants 32 bits et vice-versa).

Autres conseils

Ceci est un problème lorsque vous essayez de charger le sqlite.dll 32 bits avec un 64bit IIS / pc.

Pour qu'il fonctionne, vous devez « Activer des applications 32 bits » pour votre AppDomain par:

  1. Ouverture Gestionnaire des services Internet
  2. Cliquez sur 'Paramètres avancés' sur votre pool d'applications.
  3. Set Activer les applications 32 bits true

Pour une réponse plus rapide ne hésitez pas à envoyer un lien à toutes les questions liées à ServiceStack au ServiceStack groupe Google .

Mise à jour: J'ai oublié d'ajouter: vous devez également votre top-projet le plus de niveau (à savoir votre application Web ASP.NET) pour avoir sa configuration de construction ensemble à x86 (32 bits).

Si vous téléchargez le dernière version de ServiceStack.Examples (v2.01) ce devrait maintenant fonctionner sur des serveurs 64 bits.

Plus d'informations sur ce qui peut être suivi sur:

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

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top