C # dll, вызывающая c ++ dll, не может найти dll на windows 10 - PullRequest
0 голосов
/ 04 февраля 2019

я создал ac # dll, который вызывает c ++ dll.Для этого я делаю простой DLLimport.Это работало нормально на всех моих машинах с Windows 7, но теперь я попытался запустить его на Windows 10 .. При выполнении функции ac # я получаю ошибку, что не удается найти вызываемую c ++ dll.(System.DllNotFoundException).

C # и c ++ dll находятся в одном каталоге.Я попытался скопировать оба файла в exe-файл, который вызывает библиотеку c # -> не повезло

Я попытался скопировать оба файла в system32 -> не повезло.

Где я должен скопироватьих так, что c # "видит" dll c ++?Любой способ сообщить Windows, где искать?

Спасибо за помощь

Редактировать: DLL C # и C ++ разработаны с "Visual Studio Express 2015".В системе Windows 10 я установил Microsoft Visual C ++ 1010/2012/2013/2015 Распространяемый x86 / x64 Исключение: исключение произошло при вызове члена .NET 'function_Cs': System.DllNotFoundException: Die DLL 'Библиотека The_C ++ _.dll ": Das angegebene Modul wurde nicht gefunden.(Ausnahme von HRESULT: 0x8007007E) Канн Нихт Геладен Верден.bei C # library.C # library.function (Int32 a, Int32 b, Int32 & res)

Ответы [ 2 ]

0 голосов
/ 05 февраля 2019

После перекомпиляции исходников (без изменения чего-либо) dll может быть выполнена без проблем.Странно, но это было решением.Не работающему dll было ~ 6 месяцев, и он работал на других компьютерах с Windows 7.

0 голосов
/ 04 февраля 2019

Проблема не в том, что C ++ DLL находится не в том месте;проблема в том, что он не может быть загружен.Скорее всего, это зависит от версии библиотеки времени выполнения Microsoft C ++, которая по умолчанию недоступна в Windows 10. Это можно проверить, проверив состояние зависимых библиотек DLL с помощью Dependency Walker .Вы можете:

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