Debuggen einer DLL mit exportierten Funktionen mithilfe von [UnmanagedCallersOnly]
Posted: 15 Jan 2025, 17:12
Ich verwende eine Net8-DLL. In dieser DLL wird die Funktion AddOne exportiert:
Dann erstelle ich die DLL über diese Befehlszeile
Ich kopiere die .pdb- und .dll-Datei aus dem Pfad ClassLibrary\bin\Debug\net8.0\win-x64\native in den Pfad von meine Hostanwendung.
Die Hostanwendung ist eine .net Framework-Konsolenanwendung. Ich verwende die DLL mit diesem Code:
Aber wenn ich versuche, in der DLL zu debuggen, wird mein Haltepunkt in der Zeile Console.WriteLine("Inside AddOne"); nie erreicht.
Was mache ich falsch?
Der vollständige Quellcode ist in diesem Commit enthalten:
https://github.com/JYPDWhite/DllExportT ... 15a79dd3c3
Code: Select all
[UnmanagedCallersOnly(EntryPoint ="AddOne")]
public static int AddOne(int x)
{
Console.WriteLine("Inside AddOne");
return x + 1;
}
Code: Select all
dotnet publish -f net8.0 -c Debug -r win-x64 -p:PublishAot=true -p:NativeLib=Shared -p:SelfContained=true
Die Hostanwendung ist eine .net Framework-Konsolenanwendung. Ich verwende die DLL mit diesem Code:
Code: Select all
[DllImport("ClassLibrary.dll")]
private static extern int AddOne(int x);
Was mache ich falsch?
Der vollständige Quellcode ist in diesem Commit enthalten:
https://github.com/JYPDWhite/DllExportT ... 15a79dd3c3