FileNotFoundException при попытке загрузить DLL из управляемого кода - PullRequest
0 голосов
/ 28 сентября 2010

Для начала я хотел бы сказать, что я довольно незнаком с системой линковки Windows. (Большая часть моего опыта программирования была получена в Mac OS, в которой связь библиотек и фреймворка радикально отличается. Я также не большой пользователь Windows.)

Это моя установка: у меня два проекта в одном решении. Первый - это проект C ++ / CLI, который мы назовем Foo. Foo - это библиотечный проект, который зависит от внешней библиотеки (среды выполнения Java) и поэтому имеет соответствующую ссылку на соответствующий (я полагаю, поскольку он компилируется) файл .lib. (Я не изменил другие настройки проекта, связанные с загрузкой этой библиотеки.) Мой другой проект Bar - это исполняемый проект консоли C #, который ссылается на Foo.

Оба компилируются просто отлично.

Однако, когда я выполняю свою программу Bar.exe C #, она умирает до создания первого объекта, требующего типов из Foo. Исключением является FileNotFoundException, в котором указывается сборка Foo.dll или не может быть найдена одна из ее зависимостей.

Итак, я запустил fuslogvw, чтобы посмотреть, что пошло не так, но я не совсем понимаю, как это работает, и документация, которую я нашел, довольно бесполезна. Из того, что я думаю, я понимаю, что и Foo, и Bar не удалось загрузить как собственные изображения, но были найдены правильные IL и были правильно загружены таким образом. Других значимых упоминаний о сбое нет, хотя, очевидно, что в какой-то момент терпит неудачу . Я бы выложил журналы, но они на французском, и я думаю, что это было бы довольно бесполезно.

Есть идеи?

1 Ответ

1 голос
/ 28 сентября 2010

Все ли исполняемые и dll-зависимости находятся в выходном каталоге? Сначала проверьте собственные зависимости с помощью Зависит от .

...