2016-11-22 2 views
-1

Ich habe eine einfache Anwendung mit einem Produktaktivierungssystem von Cryptlex (cryplex.com) angeboten.C# System.DllNotFoundException

Das Programm funktioniert richtig auf meinem Computer, aber wenn ich versuche, das Programm auf einem anderen Rechner laufen zu lassen gibt es diesen Fehler:

Picture: Error

ich bereits sicher gemacht haben, dass die DLL innerhalb der ausführbaren Datei ist Ordner und alles sieht OK aus.

Wenn ich entfernen Sie alle Teil cryptlex das Programm funktioniert perfekt auf jedem Rechner (x86-x64)

I depencywalker verwendet, um Fehler zu überprüfen und diese beiden in der ausführbaren Datei gefunden, die cryptlex verwendet:

Error

Windows 7 64bit, .NET Version: 4.0

+0

klar Sie nicht lokal Cryptlex Abhängigkeiten dll kopiert. – Vladimir

+0

Sie kopierten cryplex dll, aber nicht cryplexes hing ab dlls – Steve

Antwort

0

Sie können Process Monitor verwenden, um alle Dateiaktivitäten des Programms aufzuzeichnen. Legen Sie einen Filter für Ihre ausführbare Datei fest. Nachdem Sie den Fehler reproduziert haben, speichern Sie das Protokoll als XML-Datei.

Dann laufen ProcMon Analyzer (Hinweis: Ich bin der Autor). Es analysiert die Datei und gibt eine Liste der DLLs, die nicht gefunden wurden.

Sie könnten auch das tun manuell, aber beachten Sie, dass einige DLLs möglicherweise nicht auf den ersten zu finden, aber später gefunden werden, wenn in der %PATH% Umgebungsvariable etc. Das Werkzeug suchen, werden alle diese Einträge entfernen, die haben PATH NOT FOUND zuerst aber SUCCESS später .

+0

Erstaunlicher Mann, Sie helfen mir viel. Das Problem wurde behoben ... Du bist der Beste –

0

Während die DLL vorhanden ist, haben Sie die Bitrate überprüft? Die meisten C# -Projekte werden standardmäßig gegen Any CPU aufgebaut - wenn die DLL spezifisch für eine Bitrate (dh x86 oder x64) ist, dann könnte das Programm die falsche Bitrate auf Endmaschinen (normalerweise x86) auswählen, aber die richtige auf Ihrem Rechner (x64). Dies wird normalerweise am besten durch den Aufbau verschiedener x86- und x64-Versionen gelöst. es ist unordentlicher, aber nur .NET selbst ist gut darin, das Any CPU Paradigma zu verwenden.

0

Die Ausnahme sollte Details darüber enthalten, welche DLL nicht gefunden wurde - vielleicht genauer hinsehen?

GPSVC und IESHIMS fehlen sollte kein Problem sein; Wie es in der Sanduhr angezeigt wird, sind sie Abhängigkeiten.

Verwandte Themen