Мне было предложено взглянуть на ошибку в приложении ASP/C# с ее интеграцией с Paypal. Ошибка, показанная в полном объеме, является:Не удалось загрузить файл или сборку log4net или одну из его зависимостей
Не удалось загрузить файл или сборку 'log4net, Version = 1.2.0.30714, Culture = нейтрально, PublicKeyToken = b32731d11ce58905' или один из его зависимостей. Установленное определение манифеста показывает, что не соответствует ссылке на сборку. (Исключение из HRESULT: 0x80131040)
Из того, что я понимаю, это означает, что фактический файл, расположенный (то есть, log4net.dll в моем каталоге BIN) не соответствует версии ожидаемой на основе некоторой конфигурации сборки. Проблема, с которой я сталкиваюсь, заключается в том, что я не могу найти, где этот файл ссылается.
У меня есть доступ ко всем файлам в корневом каталоге веб-сайта сайта и не удается найти файлы конфигурации, ссылающиеся на эту DLL. Где еще мне нужно искать, чтобы определить, что вызывает неправильное совпадение?
В качестве примечания, я убедился, что версия DLL в каталоге bin обновлена, но это, похоже, ничего не разрешило.
Это имеет смысл. Есть ли способ для меня увидеть, какая ссылка делается в проекте - какой файл будет обычно располагаться при просмотре скомпилированного проекта? – Elie
Вы не должны смотреть на скомпилированный проект, но не скомпилированный - файл csproj. в противном случае, я думаю, что depend.exe (в сообщении Марка) поможет. – Femaref
Это также можно проверить в пакетах nuget. Если один из ваших проектов ссылается на log4net версии 1.2.3.4, а другие проекты ищут log4net версии 5.6.7.8, тогда вы получите эту ошибку. (или любые другие пакеты nuget). Просто совместите эти версии, и вам хорошо идти. – Krishna