DllИмпорт dll win32 в монопроектLinux

Ответить
Anonymous
 DllИмпорт dll win32 в монопроект

Сообщение Anonymous »

Я использую .net core 8.0 и mono, чтобы открыть удаленный сеанс с журналом событий компьютера Windows и прочитать журналы.
Мой код работает на компьютере с Linux. Проблема в том, что когда я перехожу к классу UnsafeNativeMethods в моно,
там есть функция

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

[DllImport(WEVTAPI, CharSet = CharSet.Auto, SetLastError = true)]
[SecurityCritical]
internal static extern EventLogHandle EvtOpenSession(
[MarshalAs(UnmanagedType.I4)] EvtLoginClass loginClass,
ref EvtRpcLogin login,
int timeout,
int flags
);
когда

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

internal const String WEVTAPI  = "wevtapi.dll";
и когда этот код запускается на компьютере с Linux, я получаю следующее исключение:

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

System.DllNotFoundException: Unable to load shared library 'wevtapi.dll' or one of its dependencies. In order to help diagnose loading problems, consider using a tool like strace. If you're using glibc, consider setting the LD_DEBUG environment variable:
Error loading shared library /app/wevtapi.dll.so: No such file or directory
Error loading shared library /usr/share/dotnet/shared/Microsoft.NETCore.App/8.0.8/wevtapi.dll.so: No such file or directory
Error loading shared library wevtapi.dll.so: No such file or directory
Error loading shared library /app/libwevtapi.dll.so: No such file or directory
Error loading shared library /usr/share/dotnet/shared/Microsoft.NETCore.App/8.0.8/libwevtapi.dll.so: No such file or directory
Error loading shared library libwevtapi.dll.so: No such file or directory
Error loading shared library /app/wevtapi.dll: No such file or directory
Error loading shared library /usr/share/dotnet/shared/Microsoft.NETCore.App/8.0.8/wevtapi.dll: No such file or directory
Error loading shared library wevtapi.dll: No such file or directory
Error loading shared library /app/libwevtapi.dll: No such file or directory
Error loading shared library /usr/share/dotnet/shared/Microsoft.NETCore.App/8.0.8/libwevtapi.dll: No such file or directory
Error loading shared library libwevtapi.dll: No such file or directory
Я думал, что «mono» должен работать на Linux, как может быть, что он использует dll win32 с импортом dll?
Есть ли другие способ запустить код .netcore в Linux, который может читать журналы событий с удаленного сервера Windows?

Подробнее здесь: https://stackoverflow.com/questions/792 ... no-project
Ответить

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

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

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

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

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