在构建Unity应用程序时使用LoadLibrary模拟DLLImport

时间:2018-12-05 17:06:04

标签: c# unity3d dll

我已经成功使用DLLImportLoadLibrary将C ++ DLL加载到Unity,并且注意到以下差异:

  • LoadLibrary采用路径,这意味着,如果将dll放在Plugins文件夹中,则在构建应用程序时,LoadLibrary仍会在Plugins文件夹中查找dll,在Application.dataPath不是

  • DLLImport[("name")]的工作原理相同,但是在构建应用程序时,它是从应用程序数据文件夹而不是Unity Editor插件文件夹中加载dll-这是我们想要的正确行为。

对于这两种情况,dll均被复制到应用程序的数据文件夹中。 使LoadLibraryDLLImport一样搜索dll的最佳方法是什么?

根据Where does DLLImport look for unmanaged DLLs?,我可以以某种方式使用清单文件,但不清楚如何执行此操作。另外,我无法使用#if UNITY_EDITOR#if UNITY_STANDALONE_WIN,因为我在一个单独的C#dll项目中管理所有本机dll(无法访问unity API)。

0 个答案:

没有答案