Ist diese DLL managed oder unmanaged?
Ich halten, bevor Sie eine DLL. Nur mithilfe der Win32 SDK, können Sie mir sagen, ob diese DLL ist eine .NET-assembly?
Warum? Unsere Anwendung geladen werden plugins in form von DLLs. Wir versuchen, die Ausweitung der definition dieser plugins zu ermöglichen .NET-assemblies, sondern auch die Schnittstelle wird anders sein und somit der Lader muss wissen, ob die DLL verwaltete oder nicht verwaltete, bevor Sie geladen werden.
- Sie könnten Fragen Sie den plugin Ersteller, um eine Besondere Ressource.
Du musst angemeldet sein, um einen Kommentar abzugeben.
Können Sie die PE-header-information für die Informationen darüber, welche Art von Informationen in der DLL. Diese Artikel beschreibt, wie dies in detail.
Um festzustellen, ob eine DLL (oder EXE) verwaltete oder nicht verwaltete, verwenden Sie
dumpbin.exe
mit/Angehörigen
switch. Wenn Sie sehen,mscoree.dll
in der Ausgabe, dann muss die Versammlung ist eine verwaltete assembly.Beispielsweise für eine verwaltete DLL, die ich erstellt in Visual Studio 2010, bekomme ich die folgende Ausgabe:
dumpbin.exe
geliefert wird als Teil der Visual Studio-Tools. Um es zu starten, eine bequeme Möglichkeit, dies zu tun ist über die Visual Studio-Eingabeaufforderung. Zum Beispiel von meinem Windows 7 Rechner mit Visual Studio 2010, ich finde die Visual Studio-Eingabeaufforderung in das Windows-Start-Menü auf:Microsoft Visual Studio 2010 => Visual Studio-Tools => Visual Studio-Eingabeaufforderung (2010)
Dann, innerhalb der Visual Studio-Eingabeaufforderung, geben Sie einfach:
oder
Als alternative, können Sie die
corflags.exe
- utility ist auch im Lieferumfang von Visual Studio-Tools. Läuft es aus der Visual Studio-Eingabeaufforderung auf einem unmanaged Montage:..Sie erhalten:
...in der Erwägung, dass auf eine verwaltet Montage, erhalten Sie so etwas wie:
Verwandte:
Ich würde einfach versuchen, es zu laden, als eine .NET-assembly ist und wenn es fehlschlägt, fallen zurück auf "nicht verwaltet" - Schnittstelle.