Я провел последние 2 часа, изучая эти проблемы на SO, и, похоже, ничего не работает.
У меня есть решение, использующее log4net 1.2.11 через NuGet. Он отлично работает на моей 32-битной рабочей станции для разработки под управлением Windows 7. Он не работает на моей 64-битной --битной тестовой системе Windows 2008 R2. Я получаю сообщение об ошибке:
Unhandled Exception :System.IO.FileLoadException :Не удалось загрузить файл или сборку «log4net, версия = 1.2.11.0, культура = нейтральная, PublicKeyToken = 669e0ddf0bb1aa2a» или одна из ее зависимостей. Определение манифеста обнаруженной сборки не соответствует ссылке на сборку.
Я смотрю в каталоге приложений в своей тестовой системе. Файл log4net.dll
версии 1.2.11.
В GAC была версия 1.2.10. Я удалил его. На моем сервере разработки была версия, которая снова была чем-то другим; Я удалил и это. я перестроил; Я перераспределил. Я добавил
<dependentAssembly>
<assemblyIdentity name="log4net" publicKeyToken="669E0DDF0BB1AA2A" culture="neutral"/>
<bindingRedirect oldVersion="0.0.0.0-1.2.10.0" newVersion="1.2.11.0"/>
</dependentAssembly>
в свой файл конфигурации. Ничто, кажется, не имеет значения. Мой проект развертывания показывает правильную версию и подпись развертываемой сборки log4net.
Я не знаю, что еще я могу сделать, но меня очень расстраивает то, что библиотека протоколирования препятствует запуску моего приложения.
Что я пропустил?