Как правильно использовать мой .so файл в моно? - PullRequest
0 голосов
/ 26 мая 2019

Я пытаюсь использовать 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, ДАЖЕ С ПРЕДЫДУЩЕЙ ВАЛИДАЦИЕЙ !!!Я, конечно, что-то упускаю, но я не знаю, что это такое.

Как я могу это исправить?

Как уже было сказано, абсолютный путь работает, но я не могу его использовать.Я проверил выходной каталог, и файл прямо там. При проверке я вижу, что файл прямо там, но когда я попытался использовать его ... он не работает.

Я ожидаю использовать.так, например, когда я использую абсолютный путь и использую его функции, но фактический результат является исключением.

...