1. ホーム
  2. asp.net

[解決済み] ファイルまたはアセンブリ 'log4net, Version=1.2.10.0, Culture=neutral, PublicKeyToken=1b44e1d426115821' を読み込めません でした。

2022-03-13 03:08:41

質問

NuGetパッケージマネージャを使用してプロジェクトにLog4Netを追加したところ、私のシステムにインストールされたバージョン2.3が表示されました。

以下は、私の設定項目です。

  <configSections>
    <section name="dataConfiguration" type="Microsoft.Practices.EnterpriseLibrary.Data.Configuration.DatabaseSettings, Microsoft.Practices.EnterpriseLibrary.Data, Version=4.1.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35"/>
    <section name="log4net" type="log4net.Config.Log4NetConfigurationSectionHandler, log4net" />
  </configSections>

そして、このファイルをここで参照します。

  <log4net configSource="Log4Net.config" />
  <system.serviceModel>

が、ホームページを実行すると 以下のような例外が表示されます。

ファイルまたはアセンブリ 'log4net, Version=1.2.10.0 をロードできませんでした。 Culture=neutral, PublicKeyToken=1b44e1d426115821'またはその1つをロードできませんでした。 依存関係にある。配置されたアセンブリのマニフェスト定義が一致しません。 はアセンブリの参照と一致します。(HRESULT: 0x80131040 からの例外)

説明 の実行中に処理されない例外が発生しました。 現在の Web リクエスト。スタックトレースで詳細を確認してください。 に関する情報、およびエラーの原因がコードのどこにあるかについての情報を提供します。

例外の詳細です。System.IO.FileLoadException: ファイルまたはファイルをロードできませんでした。 アセンブリ 'log4net, Version=1.2.10.0, Culture=neutral, PublicKeyToken=1b44e1d426115821' またはその依存関係の 1 つがあります。その 配置されたアセンブリのマニフェスト定義とアセンブリのマニフェスト定義が一致しません。 を参照してください。(HRESULT: 0x80131040 の例外)

ソースエラーです。

の実行中に処理されない例外が発生しました。 現在の Web リクエスト。リクエストの送信元と送信先に関する情報 例外は、以下の例外スタックトレースで確認することができます。

dllはbinフォルダに存在しますが、代わりにバージョン1.2.13.0が表示されているのを確認しました。

アセンブリのバージョンを変更するにはどうすればよいですか?

解決方法を教えてください。

あなたのソリューションのプロジェクトの1つ、またはサードパーティのDLLが、異なるバージョンのlog4netでビルドされているようです。すべてのプロジェクトでlog4netへの参照を更新するか(サードパーティのDLLでは、これは役に立ちません)、指定されたバージョン/バージョンのlog4netを新しいものにリダイレクトするアセンブリリダイレクト設定をweb.config (app.config) に追加することが可能でしょう。

web.config (app.config) の configuration 要素の下に、このセクションを追加します。

<runtime>
    <assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1">
        <dependentAssembly>
            <assemblyIdentity name="log4net"
                          publicKeyToken="1b44e1d426115821"
                          culture="neutral" />
            <bindingRedirect oldVersion="1.2.10.0"
                         newVersion="1.2.13.0"/>
        </dependentAssembly>
    </assemblyBinding>
</runtime>

より詳しい情報は msdnのドキュメントページ .