Это мой первый вопрос по stackoverflow, поэтому я открыт для предложений.
Последние несколько месяцев я работал над школьным проектом на C ++ / C # для Visual Studio Ultimate 2013. Этот проект представляет собой робот-симулятор, и мы используем библиотеку DLL с именем Noyau.dll, которая была создана для нас преподавателем и лаборантами. Мы используем P / Invoke между C # и C ++ для доступа к библиотекам.
Никогда не было проблем с Visual Studio до последнего воскресенья (13 марта). Мой компьютер запустил обновление для Windows 10, и теперь, когда я пытаюсь запустить свою программу, он говорит:
Исключение первого шанса в 0x00007FF93DFC1F28 в InterfaceGraphique.exe: исключение Microsoft C ++: EEMessageException в ячейке памяти 0x00000043C3DFE360.
Первое исключение типа «System.DllNotFoundException» произошло в InterfaceGraphique.exe
Произошло необработанное исключение типа «System.DllNotFoundException» в InterfaceGraphique.exe
Дополнительная информация: Невозможно загрузить DLL «Noyau.dll»: указанный модуль не найден. (Исключение из HRESULT: 0x8007007E)
Единственное, что произошло между тем, когда он работал и когда он перестал работать, — это обновление Windows 10. «Noyau.dll» скомпилирован и находится в нужном каталоге. Проект работает для всей моей команды. Это работает на моем настольном компьютере. Проект, вероятно, хорошо, мой ноутбук, кажется, проблема.
Поэтому, конечно, я искал похожие проблемы, и многие люди предлагают использовать Dependency Walker, что я и сделал. Когда я запускаю «Noyau.dll» с Dependency Walker, я получаю, что тонны DLL, кажется, отсутствуют, но я понятия не имею, что это такое. Они кажутся ядрами библиотеки. Я мог бы пойти и начать скачивать их все по отдельности, но их сотни.
Что я уже пробовал:
Мой компьютер — Dell XPS13 9343 под управлением Windows 10 Home x64.
Вот Скриншот зависимости ходок.
Мне жаль, если это выглядит как дубликат, но я никогда не видел, чтобы Центр обновления Windows ломал мою Visual Studio или мои библиотеки DLL.
РЕДАКТИРОВАТЬ: Хорошо, я запустил Dependency Walker на моем .exe вместо этого. Я обнаружил, что многие DLL отсутствуют в C:\Windows\Microsoft.NET\Framework64\v4.0.30319\
LoadLibraryExW («C: \ Windows \ Microsoft.NET \ Framework64 \ v4.0.30319 \ VERSION.dll», 0x0000000000000000, LOAD_WITH_ALTERED_SEARCH_PATH) вернул NULL. Ошибка: указанный модуль не найден (126).
Я не могу найти эти по указанному пути, но я могу найти их в System32:
Почему Зависимость Уокер не может найти эти две библиотеки?
В КОНЦЕ КОНЦОВ:
Это старая тема, но если кто-нибудь столкнется с этим в будущем, мне придется перезагрузить свой ноутбук и переустановить VS, чтобы исправить это. Если кто-нибудь когда-нибудь сталкивался с этой проблемой и нашел лучшее решение, не стесняйтесь оставлять здесь ответ.
Задача ещё не решена.
Других решений пока нет …