Я пытаюсь использовать DllImport с файлом .so в моем проекте, когда я использую абсолютный путь, это не проблема, но когда я использую только имя файла, это не работает.Я проверил выходной каталог, и файл находится прямо рядом с файлом .exe, когда я попробовал это в консольном приложении в Windows, оно полностью работает.
Поэтому я попытался проверить его перед использованием метода extern, что-токак это:
if (System.IO.File.Exists("MyFile.so"))
{
Functions.MyExternalMethod();
}
и внешний метод:
public static class Functions
{
[DllImport("MyFile.so")]
public static extern void MyExternalMethod();
}
И это вызывает у меня DllNotFoundException, ДАЖЕ С ПРЕДЫДУЩЕЙ ВАЛИДАЦИЕЙ !!!Я, конечно, что-то упускаю, но я не знаю, что это такое.
Как я могу это исправить?
Как уже было сказано, абсолютный путь работает, но я не могу его использовать.Я проверил выходной каталог, и файл прямо там. При проверке я вижу, что файл прямо там, но когда я попытался использовать его ... он не работает.
Я ожидаю использовать.так, например, когда я использую абсолютный путь и использую его функции, но фактический результат является исключением.