Page 1 of 1

Debuggen einer DLL mit exportierten Funktionen mithilfe von [UnmanagedCallersOnly]

Posted: 15 Jan 2025, 17:12
by Guest
Ich verwende eine Net8-DLL. In dieser DLL wird die Funktion AddOne exportiert:

Code: Select all

        [UnmanagedCallersOnly(EntryPoint ="AddOne")]
public static int AddOne(int x)
{
Console.WriteLine("Inside AddOne");
return x + 1;
}
Dann erstelle ich die DLL über diese Befehlszeile

Code: Select all

dotnet publish -f net8.0 -c Debug -r win-x64 -p:PublishAot=true -p:NativeLib=Shared -p:SelfContained=true
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:

Code: Select all

        [DllImport("ClassLibrary.dll")]
private static extern int AddOne(int x);
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