Имитация DLLImport с использованием LoadLibrary при создании приложения Unity - PullRequest
0 голосов
/ 05 декабря 2018

Мне удалось загрузить C ++ DLL в Unity с использованием DLLImport и LoadLibrary, и я заметил следующее отличие:

  • LoadLibrary выбирает путь, которыйозначает, что если вы поместите свою dll в папку плагинов, то при создании приложения LoadLibrary все равно будет искать dll в папке плагинов, не в Application.dataPath.

  • DLLImport[("name")] предположительно работает так же, но когда вы создаете приложение, оно загружает dll из папки данных приложения, а не из папки плагинов редактора Unity - что является правильным поведением, которое мы хотим.

В обоих случаях dll копируется в папку данных приложения.Каков наилучший способ заставить LoadLibrary искать dll так же, как DLLImport?

Согласно Где DLLImport ищет неуправляемые DLL? , я мог бы как-то использоватьфайл манифеста, но неясно, как это сделать.Кроме того, я не могу прибегнуть к использованию #if UNITY_EDITOR или #if UNITY_STANDALONE_WIN, потому что я управляю всеми собственными dll в отдельном проекте C # dll (нет доступа к API единства).

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...