2012-05-03 4 views
0

Я хочу использовать в своей функции приложения C# metro из библиотеки C++ Я пытаюсь сделать это как обычно [DllImport("MyLibrary.dll")] и поместить dll в папку bin \ debug приложения. при запуске Я получаю исключение «Не удалось загрузить DLL 'MyLibrary.dll': Указанный модуль не найден. (Исключение из HRESULT: 0x8007007E)« Что мне делать?Dll Import in C# metro style application

ответ

0

Возможно, у вас может быть зависимость от сборки, которая существует только для 32-разрядного или не была должным образом установлена ​​в GAC. и следуйте замечаниям в документации DllImportAttribute Constructor msdn.

Ref:
The specified module could not be found. (Exception from HRESULT: 0x8007007E)
the specified module could not be found 0x8007007E
The specified module could not be found. (Exception from HRESULT: 0x8007007E)
Unable to load DLL 'foo.dll': The specified module could not be found. (Exception from HRESULT: 0x8007007E)

+0

тот же код не в Metro приложение работает отлично – user758795

0

ли DLL в пакете? Добавьте его в проект и введите тип Content. Если он не используется с вашим приложением, вы не можете его использовать.

+2

это звучит, что - то, что мне нужно, но как я могу это сделать? это приложение C# и dll C++. как добавить его в проект? – user758795

+0

В проводнике решений, щелкните правой кнопкой мыши проект, добавьте существующий элемент, перейдите к dll. Затем в редакторе решений щелкните правой кнопкой мыши DLL и выберите «Свойства», убедитесь, что «Содержимое» является истинным. –

0

У меня были некоторые проблемы с этим. Мое решение было довольно простым и не дано в любом другом месте:

Скопируйте следующие две библиотеки DLL в той же папке:

libgcc_s_dw2-1.dll

libstdC++ - 6.dlll

Я попытался использовать «mylib.dll» в кодированном приложении cpp, и система попросила меня включить эти файлы. И вдруг приложение, которое я разрабатывал, больше не жаловалось на то, что не сможет найти «mylib.dll». Не спрашивайте меня, почему.

Приветствие, Haritz Сабалет