2011-01-14 4 views
0

Das Problem, das ich habe ist, dass ich eine System.IO.FileLoadException bekomme, wenn Sie versuchen, die RWLock.dll auf einer Test-Box und Windows XP-Maschinen zu laden.dll nicht laden - FileLoadException

Dies ist die Ausnahme, die ausgelöst wird, wenn es versucht, die DLL auf dem Windows 2003 Server-Maschine (höchstwahrscheinlich 32 Bits) zu laden:

System.IO.FileLoadException: Ein Verfahren, die von ‚rwlock importiert, Version = 1.0.3889.27926, Culture = neutral, PublicKeyToken = null 'konnte nicht geladen werden.

Dateiname: 'rwlock, Version = 1.0.3889.27926, Kultur = neutral, PublicKeyToken = null' ---> System.Runtime.InteropServices.COMException (0x8007007F): Die angegebene Prozedur wurde nicht gefunden. (Ausnahme von HRESULT: 0x8007007F) ...

Allerdings hatten wir keine Probleme, dies auf einem Windows 2007 * Server-Computer (64-Bit) auszuführen.

Irgendwelche Ideen? Vielen Dank im Voraus :)

* Windows 2008 (oops)

+1

Was ist * Windows 2007 Server Maschine (64 Bit) *? –

Antwort

3

Die Fehlermeldung sagt Ihnen, dass RWLock.dll versucht, eine Funktion zu importieren, die nicht von einem anderen DLL nicht existiert. Dies bedeutet wahrscheinlich, dass RWLock versucht, eine API-Funktion zu importieren, die auf dem Windows 2008 Server-Computer vorhanden ist (ich nehme an, dass Sie statt "Windows 2007 Server" gemeint haben), aber nicht unter Windows 2003 oder früher.

Sie können Dependency Walker verwenden, um herauszufinden, was es zu laden versucht und wo es versucht, diese fehlende Funktion zu finden, aber es wird nicht helfen, es in den Windows-Versionen verfügbar zu machen, wo es nicht existiert.

Die andere Möglichkeit ist, dass RWLock eine Abhängigkeit von einer anderen DLL hat, die es bereitstellt, aber Sie verteilen es nicht ordnungsgemäß neu. Dependency Walker kann auch dabei helfen.