Использование ссылки, которая ссылается на стороннюю 32-разрядную C dll в Nancy Projects, вызывает систему.Исключение BadImageFormatException

#c# #nancy

#c# #nancy

Вопрос:

У меня есть проект Nancy на .NET 4.8 в C #, который выдавал ошибку ниже в этой строке:

 host = new NancyHost(new HttpBootstrapper(), hostConfigs, uri);
  

System.Исключение BadImageFormatException: не удалось загрузить файл или сборку [имя сборки]
Ожидалось, что модуль будет содержать манифест сборки

Сборка, на которую ссылается сторонняя 32-разрядная C DLL, на которую ссылается одна из моих C # DLL. Все другие проекты, использующие эту DLL, работали нормально. Просто проект Nancy не был доволен.

Ответ №1:

Теперь это случалось раньше, и я забыл, как это решить. Таким образом, я пишу и отвечаю на свой собственный пост по этому вопросу. Это сложная ошибка для решения, потому что исключение BadImageFormatException происходит повсеместно по многим очень разным причинам.

Вот решение, которое, по-видимому, я использую годами, которое появляется только при сбросе настроек исключений в Visual Studio: просто игнорируйте эти исключения!

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

Просто снимите флажок «Прерывать при возникновении исключения этого типа». Все будет работать отлично. Я понятия не имею, в чем заключается основная проблема, не знаю, важна ли проблема или нет. Но это решение отлично работает и позволяет мне решать 10 000 других проблем, которые мне нужно решать ежедневно.

Я думаю, это связано со старыми C DLL, вызываемыми C #. Было бы интересно понять, как это исправить, но это не критически важно.