0

我试图在我的项目中使用带有 .so 文件的 DllImport,当我使用绝对路径时,没有问题,但是,当我只使用文件名时,它不起作用。我检查了输出目录,该文件就在 .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 !!!显然我错过了一些东西,但我不知道它是什么。

我该如何解决?

如前所述,绝对路径有效,但我不能使用它。我检查了输出目录,文件就在那里 通过验证,我可以看到文件就在那里,但是当我尝试使用它时......它不起作用。

当我使用绝对路径并使用他的函数时,我希望使用 .so ,但实际结果是一个例外。

4

0 回答 0