Mam projekt Wpf .net 4.0 C#, który próbuję przenieść z użycia Log4Net do używania NLog jako biblioteki rejestrowania za fasadą Common.Logging. Spodziewałem się, że to łatwe zadanie, ale wiesz, co mówią, Nic nigdy nie jest łatwe.Wspólne rejestrowanie nie może załadować typu NLog.TargetWithLayout
Użyłem Nuget do:
- Pobierz nlog w wersji 2.0.1.2.
- Pobierz Common.Logging.NLog w wersji 2.0.0.
- Pobierz Common.Logging.NLog20 w wersji 2.1.2.
- Zaktualizowano wspólne logowanie z wersji 2.0.0 do wersji 2.1.2 przy użyciu NuGet.
W pliku app.config mam:
<common>
<logging>
<factoryAdapter type="Common.Logging.NLog.NLogLoggerFactoryAdapter, Common.Logging.NLog">
<arg key="configType" value="FILE" />
<arg key="configFile" value="~/NLog.config" />
</factoryAdapter>
</logging>
</common>
... i ...
<dependentAssembly>
<assemblyIdentity name="NLog" publicKeyToken="5120e14c03d0593c" culture="neutral" />
<bindingRedirect oldVersion="0.0.0.0-2.0.1.0" newVersion="2.0.1.0" />
</dependentAssembly>
Kiedy uruchomić aplikację pojawia się błąd informujący
"Wywołanie konstruktora na typ" NameSpace.Shell.AppBootstrapper ", które pasuje do określonych wiązań wiązania, spowodowało wyjątek." Numer linii "8" i pozycja linii "18".
Wewnętrzna wyjątek:
{ „Nie załadowania jednego lub więcej żądanych typów pobierania właściwości LoaderExceptions więcej informacji..”}
Ta ładowarka wyjątkiem, że jest tylko jeden, to:
{ "nie można załadować typu 'NLog.TargetWithLayout' z zespołem„NLog, Version = 2.0.1.0, CULT ure = neutralny, TokenKluczaPublicznego = 5120e14c03d0593c”. ":" NLog.TargetWithLayout"}
ktoś rozwiązać ten problem lub masz pracę wokół dostać NLog working with Common.Logging
?
W interesach dotyczących nie zamieszczania długich pytań nie zamieściłem pliku NLog.config
, ale mogę, jeśli byłoby to korzystne.
To brzmi poprawnie. To prawie tyle, co powiedziałem w powyższej odpowiedzi. – Klee
Rozumiem, co się dzieje. zobacz tutaj https://github.com/net-commons/common-logging/issues/23#issuecomment-23339522 – skalinkin