Я запускаю проект игры C# XNA на Microsoft Visual Studio 2013 с использованием 32-разрядной архитектуры. При попытке загрузить неуправляемую DLL C++ во время выполнения с помощью тега DllImport
, я получаю следующую ошибку. Обратите внимание, что эта DLL (fmod_event.dll) происходит от FMOD Ex Programmer’s API, расположенного под/fmoddesignerapi/API/C++ Неуправляемая библиотека DLL при сбое импорта среды C#
Необработанное исключение типа 'System.DllNotFoundException'.
Дополнительная информация: Не удается загрузить DLL «fmod_event»:. Указанный модуль не может быть найден (Исключение из HRESULT: 0x8007007e)
Код последовал и не во время импорта.
[DllImport("fmod_event")]
private static extern RESULT FMOD_EventSystem_Create(ref IntPtr eventsystem);
Я добавил dll в корневую директорию проекта и установил его в «Копировать, если новый». Я могу гарантировать, что эта DLL присутствует в папках DEBUG и RELEASE bin в нужном месте.
При импорте «fmodex.dll» доступный через тот же загрузки файла и расположенный под/API/не бегаю в том же номере, и все работает, как ожидается, со следующим кодом:
[DllImport("fmodex")]
private static extern RESULT FMOD_System_Create(ref IntPtr system);
Обе эти библиотеки DLL можно увидеть в одной папке bin.
Я попытался использовать fmod_event.dll 32 и 64 без везения.
Может ли кто-нибудь объяснить, почему одна DLL загружается правильно, но не другая? Thanks
Do _any_ импортирует работу для ** fmod_event.dll **? Можете ли вы подтвердить, что эти две библиотеки DLL находятся сразу в папках ** Debug ** или ** Release **? Зачем вам нужно копировать их в дочерние папки? – MickyD
Вы видели этот сайт: http://www.solvusoft.com/en/files/missing-not-found-error/dll/windows/electronic-arts-inc/crysis/fmod-event-dll/ – PaulF
Я склонен а не скачивать DLL из неизвестных источников. – caubry