System.BadImageFormatException auf ServiceStack Beispiele ausgeführt wird.
-
09-10-2019 - |
Frage
Ich versuche, ServiceStack Beispiele Projekte zu laufen. Wenn ich den Web-Client ausführen ich die folgende Fehlermeldung erhalten:
{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}
Ich habe letzte System.Data.SQLite.dll Datei heruntergeladen und versucht, es zu benutzen, aber bin immer noch den gleichen Fehler. Ich bin 64-Bit-VS2010 auf Windows 7 64-Bit-Feld ausgeführt wird.
Lösung
Stellen Sie die Plattform Ziel Ihres Hauptprojekt x86 dies zu beheben. Dies kann unter getan werden Projekt ... -> Eigenschaften -.> Erstellen
SqlLite ist höchstwahrscheinlich eine 32-Bit-Komponenten, und in der Lage zu sein, es braucht Ihre Anwendung zu laden eine 32-Bit-Anwendung sein, wie gut (64-Bit-Prozesse nicht 32-Bit-Komponenten und umgekehrt geladen werden können).
Andere Tipps
Dies ist ein Problem beim Versuch, die 32-Bit-sqlite.dll zu laden mit einem 64-Bit / pc IIS.
Um es Ihnen zu ‚32-Bit-Anwendungen aktivieren‘ arbeiten müssen, um für Ihre AppDomain von:
- Die Öffnung IIS-Manager
- Klicken Sie auf 'Erweiterte Einstellungen' auf dem Applikations-Pool.
- Set Aktivieren 32-Bit-Anwendungen auf true
Für eine rechtzeitige Reaktion gerne einen Link zu allen ServiceStack Fragen zum ServiceStack Google-Gruppe zu senden.
Update: Ich habe vergessen, hinzuzufügen: Sie müssen auch Ihr meist Top-Level-Projekt (das heißt Ihre ASP.NET Web-Anwendung) seinen Build-Konfigurationssatz auf x86 (32 Bits) haben.
Wenn Sie zum Download auf die neueste Version von ServiceStack.Examples (v2.01) dies soll jetzt auf 64-Bit-Server.
Weitere Informationen dazu finden Sie auf nachverfolgt werden:
https://groups.google.com/d/topic/servicestack/EUPqF2jI4ig/discussion