DLL-файл VS2012 не найден во время выполнения

У меня есть проект, который ссылается на файл dll. Я просто добавил ссылку, щелкнув правой кнопкой мыши на свойствах, выбрав «Добавить ссылку» и просмотрев dll. Intellisense распознает библиотеку и все ее классы/методы, но когда я запускаю ее, я получаю это.

Произошло необработанное исключение типа «System.IO.FileNotFoundException» в программе.exe

Дополнительная информация: не удалось загрузить файл или сборку «Api.dll» или одну из ее зависимостей. Указанный модуль не может быть найден.

Файл появляется в папке bin и все еще находится в том же месте, где я просматривал. Программа работает без ошибок, если я не использую какие-либо классы или методы. Библиотека не имеет никаких зависимостей, о которых я знаю.

Редактировать: с помощью средства обхода зависимостей обнаружил много отсутствующих зависимых DLL-файлов, которые, по моему мнению, вызывали проблему. После помещения всех зависимых DLL в одну папку и обращения к ней проблема сохраняется.


person Cameron Scully    schedule 24.10.2012    source источник


Ответы (2)


Когда вы запустите ваше приложение. Он точно скажет вам, какая сборка не загружается.

Если при запуске Fusion Log Viewer ничего не отображается, попробуйте следующие настройки:

введите здесь описание изображения

введите здесь описание изображения

Я никогда не понимал, почему результаты не будут отображаться, если я не использую настройки таким образом. Я удалял все записи, запускал приложение и нажимал кнопку «Обновить».

person Bob Horn    schedule 24.10.2012
comment
Никаких приложений не появилось в просмотрщике. Есть ли какой-то особый способ отладки программы, чтобы заставить ее регистрировать сборку? - person Cameron Scully; 26.10.2012
comment
Исключение возникает, когда я пытаюсь войти в метод, который использует API, а не в строку с самим API. - person Cameron Scully; 26.10.2012
comment
Это помогло. В журнале говорится, что AveAPI был успешно загружен, но MyProgram.resources не удалось. Я попытался опубликовать его и запустить, но в тексте исключения не отображался API, загруженный в список сборок. - person Cameron Scully; 26.10.2012

Оказывается, даже после того, как я нашел отсутствующие DLL с помощью обходчика зависимостей, они не были импортированы в мой проект с исходной DLL. Перемещение их в папку bin/debug исправило ошибку

person Cameron Scully    schedule 08.11.2012