Aykut Çevik

Klischees müssen erfüllt werden

LoadLibrary() Windows API Fehler 126

without comments

Manchmal bekam ich einen Fehler, bzw. einen IntPtr.Zero, wenn ich versucht hatte, mittels LoadLibrary eine Assembly zu laden. Den Fehler, den ich mit GetLastWin32Error abfragen konnte, war 126 – eine nichts aussagende Zahl. Nach etwas recherchieren kam ich dann zur Lösung.

Dieser Fehler trifft auf, wenn einige Abhängigkeiten der zu ladenden Assembly nicht aufgelöst werden konnten. Das Problem tritt meist dann auf, wenn das Programm sich nicht im Assembly-Verzeichnis befindet. Ein einfacher Workaround ist, das Arbeitsverzeichnis seiner Anwendung, die die Assembly zu laden versucht, auf das Verzeichnis der Assembly zu setzen. Nutzt dazu die Directory.SetCurrentDirectory-Methode, um das Arbeitsverzeichnis zu ändern. Nun sollte es auch mit dem Laden der Assembly klappen.

Artikel, die für Sie interessant sein könnten

Written by Aykut Çevik

April 8th, 2011 at 6:55 pm

Facebook Kommentare:

Leave a Reply