Не удалось загрузить файл или сборку, PublicKeyToken=null

не удалось загрузить файл или сборку " NCrawler.Гекопроцессор, Version=3.0.0.0, Culture=нейтральный, PublicKeyToken=null' или один из его зависимости.

когда я называю CrawlUsingGeckoProcessor.Run();

что это значит? Я могу нажать "перейти к определению" и я вижу Run() метод.

4 ответов


эта ошибка обычно означает, что сборка не найдена. Попробуйте проверить, существует ли файл в каталоге, в котором запущено приложение.

Если вы все еще не можете понять, какой файл не загружается, попробуйте использовать такой инструмент, как Fusion Log Viewer (run fuslogvw.exe из командной строки Visual Studio), чтобы определить, какие файлы среда CLR пыталась загрузить и откуда, чтобы вы могли точно увидеть, что не удалось.


Я испытал ту же проблему, и причина заключалась в том, что я скомпилировал свой EXE и DLL на 32-битной машине для "x86", потому что это зависит от библиотеки C++\CLI, скомпилированной для Win32. Затем я попытался использовать эту библиотеку на 64-битной машине из 64-битного процесса. Очевидно, 64-битный процесс не может загружать 32-битные библиотеки, поэтому я получил эту ошибку, которая действительно не помогает понять проблему.

поэтому причиной может быть то, что вы пытаетесь использовать 32-битную библиотеку из 64-битного процесса.


попробуйте перейти к настройкам App advance .. Включить 32-разрядную обработку .. если приложение было построено в .net 2.0, а текущий сервер-IIS 7


построение ответа nogard, попробуйте установить платформу решения на x86

enter image description here