В рамках нашей миграции с .net 1.1 на .net 3.5 нам пришлось изменить несколько DLL-файлов vender.«System.IO.FileNotFoundException: не удалось загрузить файл или сборку», когда сборка действительно существует
Один из них дают нам неприятность только 1 место из 4-й точек, которые мы используем его по адресу:
Проблемы пятна является окно формы проекта, который использует отражение, чтобы динамически загрузить некоторые библиотеки DLL, которые работают давно запущенные процессы , Одним из этих длительных процессов является агент, который использует одну из наших DLL-файлов vender.
Мы получаем недостающее исключение сборки в точке, где мы сначала вводим функцию, которая ссылается на библиотеку. Я уже проверял такие глупые вещи, как если бы мы забыли переместить ссылку из старой версии в новую, но это не так. Я также проверил каталог bin проекта, и там есть сборка.
Неужели кто-нибудь столкнулся с ситуацией, в которой среда выполнения .net 2.0 отказывается загружать такую сборку? И если да, то как мы можем исправить эту проблему.
Дополнительная информация:
Конкретная поставщика в данном случае DTSearch и это boundry где выкинут ошибка:
Private Sub BuildIndex()
SetIndexOptions()
ExecuteIndexJob()
End Sub
Private Sub SetIndexOptions()
'Body removed for brevity
End Sub
Библиотека упоминается в SetIndexOptions. BuildIndex()
вводится, но исключение возникает при вызове SetIndexOptions. Функция никогда не вводится.
Ну, это усложняет ситуацию. DLL, которую я пытаюсь загрузить, говорит, что не хватает двух DLL, о которых я никогда не слышал (IESHIMS.DLL и WER.DLL, если это что-то означает), но в то же время версия DLL версии .net 1.1 также пропуская эти компоненты и работая нормально. –
Эти 2 сборки, скорее всего, красные сельди - я думаю, что большинство сборок, которые я открываю, пропускают те 2, даже если они работают нормально. – Justin
Итак, DLL в порядке? –