DLLimport в единстве библиотеки классов не работает

Я пытаюсь вызвать свой собственный файл dll в свою библиотеку классов в Unity, используя эту команду:

[DllImport("files01", EntryPoint = "SaveImg")]
public static extern void SaveImg(byte[] src, int imgWidth, int imgHeight, int filenum);

Я поместил свою dll в папку «Активы\Плагины» в папке моего проекта Unity. Но Unity не может его найти. Я также пытаюсь переместить свою dll в ту же папку с моим исполняемым файлом Unity (папка Assets), но Unity все еще не может найти мою dll.

Я что-то пропустил ? Любой совет ? Заранее спасибо.


person raisa_    schedule 14.03.2017    source источник
comment
если вы используете управляемую библиотеку, вы должны использовать Сборка.Загрузить   -  person Lei Yang    schedule 14.03.2017
comment
нет. я не использую управляемую библиотеку.   -  person raisa_    schedule 14.03.2017
comment
Попробуйте использовать files01.dll   -  person GSP    schedule 14.03.2017
comment
@GSP не работает. Все равно ошибка не найдена   -  person raisa_    schedule 14.03.2017
comment
Щелкните правой кнопкой мыши свой проект ›› Добавить ссылку ›› Обзор. Затем выберите свою dll для добавления в проект.   -  person GSP    schedule 14.03.2017
comment
@GSP Я в Unity. Я не думаю, что есть такой способ добавить ссылку.   -  person raisa_    schedule 14.03.2017
comment
Не добавляйте ссылку. Это не управляемо.   -  person David Heffernan    schedule 14.03.2017
comment
Это ваша dll, которая не может быть найдена, или ее зависимости?   -  person David Heffernan    schedule 14.03.2017
comment
@DavidHeffernan, это мои dll-файлы, которые невозможно найти   -  person raisa_    schedule 14.03.2017
comment
Куда смотрит система? В исполняемой папке. Я не знаю Unity, но я думаю, что это где-то совершенно отдельно от файлов вашего проекта. В этом случае я предлагаю вам p/вызвать LoadLibrary и вызвать его, передав полный путь к вашей DLL. Затем последующие вызовы p/invoke будут использовать этот модуль, поскольку он уже загружен.   -  person David Heffernan    schedule 14.03.2017
comment
Что ж, в Unity нам «предлагают» поместить наши dll-файлы в папку Assets/Plugins, где исполняемая папка — это сами Assets. (docs.unity3d.com/Manual/UsingDLL.html). Я не так хорошо знаком с P/invoke, я попытаюсь получить информацию об этом и обновить свой прогресс.   -  person raisa_    schedule 14.03.2017
comment
Вы смогли это исправить? Я столкнулся с аналогичной проблемой: stackoverflow.com/questions/54898629/   -  person vipin8169    schedule 28.02.2019