Common.Logging.NLog32 не может использовать NLog 3.2.1.0? Только на клиенте?
В настоящее время я настраиваю проект клиент-сервер. Моя серверная часть - это проект C# WebAPI (net45). Моя клиентская часть - проект C# WPF (net45).
Для регистрации я хочу использовать Common.Logging с адаптером Common.Logging.NLog32.
Сначала я настроил его в серверной части, и он работал как шарм. Я продолжал настраивать его для приложения WPF, и он продолжает сбой при вызове:
LogManager.GetCurrentClassLogger();
Или же
LogManager.GetLogger("MyLogger");
Исключение говорит мне, что не удалось создать экземпляр Common.Logging.NLog.NLogLoggerFactoryAdapter
, Внутреннее исключение показывает, что он не может найти сборку NLog в версии 3.2.0.0 с PublicKeyToken 5120e14c03d0593c.
В обоих случаях, сервер и клиент, я установил одинаковые пакеты nuget. Хотя у серверной части нет проблем с использованием сборки NLog 3.2.1.0 (поставляется вместе с Common.Logging.NLog32), клиент продолжает не загружать ее.
Любые идеи, почему поведение отличается и как обойти эту проблему без ручной загрузки точной версии NLog?
1 ответ
Ну, это было странно...
Коллега попросил меня попробовать использовать NLog напрямую без оболочки Common.Logging. Я сделал, и все работало, как ожидалось.
После этого я собрал код и захотел воспроизвести проблему, чтобы опубликовать ее на странице github. И это сработало, больше никаких проблем.
Я понятия не имею, что именно решило проблему, но для всех, кто сталкивается с той же проблемой: попробуйте использовать NLog напрямую один раз и попробуйте снова с Common.Logging после этого.