OpenCV Nicht verwaltete DLLs nicht gefunden asp.net

Wir erstellen eine Webanwendung (C # .NET), die nicht verwaltete Bibliotheken in Form des Emgu opencv-Wrappers verwendet. Wir zwingen den Build auf 32-Bit (x86) und verwenden die 32-Bit-Version von Emgu.

All dies funktioniert gut bei lokalen Builds, aber wenn es auf unserem Webserver veröffentlicht wird, können die openCV-Dlls nicht geladen werden:

System.DllNotFoundException
Unable to load DLL 'opencv_core240': The specified module could not be found. (Exception from HRESULT: 0x8007007E)

System.TypeInitializationException: The type initializer for 'Emgu.CV.CvInvoke' threw an exception. ---> System.DllNotFoundException: Unable to load DLL 'opencv_core240': The specified module could not be found. (Exception from HRESULT: 0x8007007E)
   at Emgu.CV.CvInvoke.cvRedirectError(CvErrorCallback errorHandler, IntPtr userdata, IntPtr prevUserdata)
   at Emgu.CV.CvInvoke..cctor()
   --- End of inner exception stack trace ---
   at Emgu.CV.CvInvoke.cvCreateImageHeader(Size size, IPL_DEPTH depth, Int32 channels)
   at Emgu.CV.Image`2.AllocateData(Int32 rows, Int32 cols, Int32 numberOfChannels)
   at Emgu.CV.Image`2.set_Bitmap(Bitmap value)
   at Emgu.CV.Image`2..ctor(Bitmap bmp)

Ich habe die folgenden Dinge ausprobiert, die ich in stackoverflow und anderen Quellen gefunden habe:

Legen Sie die nicht verwalteten OpenCV-DLLs in ein separates Verzeichnis, geben Sie den Pfad zu diesem Verzeichnis in die Umgebungsvariable path ein und starten Sie den Webservice neu.Getestet, ob die Serverkonfiguration die Ausführung von nicht verwaltetem Code zulässt (Ja)Speichern der nicht verwalteten OpenCV-DLLs in den Verzeichnissen system32 \ inetsrv und SysWOW64 \ inetsrvDie nicht verwalteten OpenCV-DLLs in einem Unterverzeichnis 'x86' in den oben genannten Ordnern ablegen

Ich verstehe das:http://msdn.microsoft.com/en-us/library/ms366723.aspx

Das ist der Grund aller Schwierigkeiten, aber ich verstehe nicht, warum das Bearbeiten der Pfadvariablen, um den richtigen Pfad mit den Dlls einzuschließen, nichts löst.

Letzter nützlicher Beitrag zu diesem Problem war 2008, es wurde jedoch noch keine idiotensichere Lösung angeboten. Daher ist jede Hilfe sehr willkommen!

Antworten auf die Frage(5)

Ihre Antwort auf die Frage