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 после этого.

Другие вопросы по тегам