2009-06-11 5 views
1

Ich habe ein SDK, das hauptsächlich in C# geschrieben wird. Wir haben nativen Code, der aus Sicherheits- und Leistungsgründen geschrieben wurde. Wir verwenden DllImport, um mit dem systemeigenen Code zu interagieren. Es gibt ein paar Funktionen, die ich bekomme einen "Unable to find an entry point named '...' in DLL '...'.":"" Fehler. Ich habe überprüft, dass die Funktion, die nicht gefunden wird, exportiert wird. Ich habe überprüft, dass es keinen entstellten Namen hat. Ich habe überprüft, dass die Parameter übereinstimmen. Ich habe ein paar verschiedene Aufrufkonventionen im DllImport-Attribut ausprobiert. Ich denke, ich kann das immer wieder zufällig versuchen, aber ich hoffe, dass es einen direkteren Ansatz gibt.Was sind die Schritte zur Fehlerbehebung/Tools für C# zu Native Interop?

Kennt jemand ein Werkzeug oder eine Methode, um in einem Fall wie diesem mehr Informationen zu erhalten? Wie sicher sollte ich sein, dass die DLL gefunden wurde? Würde ich diese Ausnahme bekommen, wenn die Parameter falsch sind? Jede Hilfe wäre willkommen.

Pat O

+0

Ich war in der Lage, das Problem herauszufinden, aber ich habe noch keinen besseren Ansatz als eine Art herumwühlen, um zu sehen, was was ist. –

Antwort

0

Ich benutze Dependency Walker die exportierten Funktionen in einer C++ DLL zu finden. Dies wird dazu beitragen sicherzustellen, dass Sie versuchen, den richtigen Namen zu importieren, usw.

+0

Danke, ich habe überprüft, dass die DLL-Exporte wie erwartet sind. –

0

ich dumpbin verwenden, um meine Liste der Exporte zu bekommen ...

Viel Glück!

Verwandte Themen