2017-07-02 3 views
1

Ich habe einen WCF-Dienst, der LevelDB-sharp (https://github.com/meebey/leveldb-sharp) verweist, die wiederum verweist (DllImport) leveldb.dll.WCF kann DLLImported dll nicht laden

Alles läuft perfekt auf meiner Entwicklung Maschine, aber sobald ich es einsetzen zu leben, erhalte ich die Fehlermeldung

Der Server hat einen Fehler bei der Verarbeitung der Anforderung. Die Ausnahme Nachricht ist 'Kann DLL' leveldb.dll 'nicht laden: Das angegebene Modul konnte nicht gefunden werden. (Ausnahme von HRESULT: 0x8007007E)

Ich habe versucht, die DLL in dem Web-Service-Verzeichnis setzen, das Unterverzeichnis ist, system32 und auch system32 \ inertsrv und halte die gleichen Fehler.

Ich habe auch versucht, einen Pfad in die DllImport Anrufe hart zu kodieren.

Was fehlt mir?

Antwort

1

DllImport Anrufe folgt nicht den normalen .net Sondierungsweg, es wird durch Windows PAth variable Pfade aussehen.

Da Sie bereits versucht haben, die DLL in Inetsrv und System32 zu setzen, denke ich, dass Ihr IIS-Webanwendungspool möglicherweise im 32bit-Modus ausgeführt wird. Führen Sie Ihren Anwendungspool im 32-Bit-Modus aus?

Wenn ja, bitte versuchen und setzen Sie den leveldb.dll in Ihrem syswow64 Ordner oder C: \ Windows \ SysWOW64 \ inetsrv Ordner

iis 32 bit