System.IO.FileNotFoundException не обработано. Message = «Указанный модуль не найден.(Исключение из HRESULT: 0x8007007E) » - PullRequest
3 голосов
/ 25 января 2012

Я смотрю на новый для меня код. У меня есть код C ++ в проекте под названием UI, с рядом зависимостей, который собирается правильно и не возвращает никаких ошибок. В том же решении в Visual Studio 2008 я создал новый проект форм Windows на C #, добавил ссылку на dll, сгенерированную проектом UI, и добавил оператор «using». Я хочу открыть один из диалогов, определенных в проекте пользовательского интерфейса, поэтому у меня есть код, подобный

UIDialog uIDialog = new UIDialog(); 
uIDialog.Show();

который строит.

Когда я запускаю свой проект в режиме отладки, когда он попадает в «новую» часть, я получаю исключение, приведенное выше - без информации о том, что представляет собой отсутствующий модуль.

Есть ли способ узнать, что такое отсутствующий модуль, не копаясь в коде в проекте пользовательского интерфейса?

(Я пытаюсь перефразировать этот вопрос, чтобы он не закрывался. Если бы кто-то мог дать окончательный ответ «Нет, нет», я нашел бы это очень полезным. Спасибо также тем, кто закрыл предыдущую версию.)

Edit:

System.IO.FileNotFoundException occurred
  Message="The specified module could not be found. 
(Exception from HRESULT: 0x8007007E)"
  Source="ui"
  StackTrace:
   at ui.UIDialog.Startup()
   at ui.UIDialog..ctor() in c:\..\ui\UIDialog.h:line 61
InnerException:

Вот в чем проблема, нигде не видно полезной информации!

Это не проблема 32/64 бита - до того, как я сюда попал, у меня было типичное "BadImageFormatException", поэтому, чтобы пройти, я заставил все быть 32-битными.

Ответы [ 2 ]

1 голос
/ 25 января 2012

Вы можете использовать дизассемблер MSIL на dll, на который указывает ссылка, и проверить манифест на наличие всех зависимостей dll.Дизассемблер является частью инструментов Windows SDK.

Или всегда есть DependencyWalker, хотя я его не использовал годами.

0 голосов
/ 25 января 2012

Вы можете включить Fusion logging , чтобы увидеть, что делает загрузчик, и выяснить, чего не хватает.

...