Отладка DLL с экспортированными функциями с помощью [UnmanagedCallersOnly]C#

Место общения программистов C#
Ответить
Anonymous
 Отладка DLL с экспортированными функциями с помощью [UnmanagedCallersOnly]

Сообщение Anonymous »

Я использую DLL net8, в эту DLL экспортируется функция AddOne:

Код: Выделить всё

        [UnmanagedCallersOnly(EntryPoint ="AddOne")]
public static int AddOne(int x)
{
Console.WriteLine("Inside AddOne");
return x + 1;
}
Затем я создаю DLL, используя эту командную строку

Код: Выделить всё

dotnet publish -f net8.0 -c Debug -r win-x64 -p:PublishAot=true -p:NativeLib=Shared -p:SelfContained=true
Я копирую файлы .pdb и .dll из пути ClassLibrary\bin\Debug\net8.0\win-x64\native в путь мое хост-приложение.
Хост-приложение представляет собой консольное приложение .net framework. Я использую dll с помощью этого кода:

Код: Выделить всё

        [DllImport("ClassLibrary.dll")]
private static extern int AddOne(int x);
Но когда я пытаюсь выполнить отладку в dll, моя точка останова на строке Console.WriteLine("Inside AddOne"); никогда не срабатывает.
Что я делаю не так?
Полный исходный код находится в этом коммите:
https://github.com/JYPDWhite/DllExportT ... 15a79dd3c3

Подробнее здесь: https://stackoverflow.com/questions/793 ... allersonly
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «C#»