2

の nuget パッケージを更新しましたCommon.Logging.Log4Net。それ以来、次のエラーが発生し続けます。

タイプ 'Common.Logging.Factory.AbstractCachingLoggerFactoryAdapter' をアセンブリ 'Common.Logging、Version=2.2.0.0、Culture=neutral、PublicKeyToken=af08829b84f0328e' から読み込めませんでした

リンクされている各 nuget パッケージとCommon.Loggingバージョンのリストを次に示します。

  • Common.Logging - 2.2.0
  • Common.Logging.Core - 2.2.0
  • Common.Logging.Log4Net - 2.0.1

私のweb.configには、次のビットがあります。

<configuration>
  <configSections>
   <sectionGroup name="common">
      <section name="logging" type="Common.Logging.ConfigurationSectionHandler, Common.Logging" />
    </sectionGroup>
  </configSections>

  //...//

  <runtime>
    <assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1">
      <dependentAssembly>
        <assemblyIdentity name="Common.Logging" publicKeyToken="af08829b84f0328e" culture="neutral" />
        <bindingRedirect oldVersion="0.0.0.0-2.2.0.0" newVersion="2.2.0.0" />
      </dependentAssembly>
    </assemblyBinding>
  </runtime>

  //...//

  <common>
    <logging>
      <factoryAdapter type="Common.Logging.Log4Net.Log4NetLoggerFactoryAdapter, Common.Logging.Log4net">
        <arg key="configType" value="FILE-WATCH" />
        <arg key="configFile" value="~/log4net.config" />
      </factoryAdapter>
    </logging>
  </common>
</configuration>

どうすればこれを修正できますか?

私は変更しようとしました:

<factoryAdapter type="Common.Logging.Log4Net.Log4NetLoggerFactoryAdapter, Common.Logging.Log4net">

に (Common.Logging.Log4net.dll [201] の追加バージョン)

<factoryAdapter type="Common.Logging.Log4Net.Log4NetLoggerFactoryAdapter, Common.Logging.Log4net201">

そしてそれはうまくいきませんでした。

4

2 に答える 2

5

だから私は自分の質問に対する答えを見つけたので、同じ問題を経験している人と答えを共有したいと思っていました.

間のように見えCommon.Logging 2.1.2Common.Logging 2.2.0開発者は新しいライブラリを作成するために変更を加えましたCommon.Logging.Core。Common.LoggingCommon.Logging.Log4Net開発 (GitHub) サイトによると、パッケージは新しい変更をサポートするように更新されていません。

于 2014-07-25T16:08:35.543 に答える
0

一部の人々を助けるかもしれない別の視点:

Common.Logging 3.0 から、開発者はバージョンの依存関係を処理する方法を変更しました。たとえば、Common.Logging.Log4Net アセンブリはサポートされなくなり、各フレームワークにはバージョン固有の参照が必要になりました。したがって、Common.Logging.Log4Net の場合、この記事の最新版は Common.Logging.Log4Net1213 になります。

nuget を使用すると、次の方法でこれを取得できます。

Install-Package Common.Logging.Log4Net1213

詳細については、こちらをご覧ください

于 2015-05-24T15:47:12.750 に答える