7

ソリューションプロジェクトに最新バージョンのlog4net(1.2.11.0)を配置してから、添付のエラーが発生します。これは、デプロイした直後にサーバーで発生し、再度更新すると、次のデプロイまで消えます。次のバージョンのリダイレクトコードを試しましたが、役に立ちませんでした。

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

これは私が得ているエラーです:

'/'アプリケーションのサーバーエラー。

ファイルまたはアセンブリ'log4net、Version = 1.2.10.0、Culture = neutral、PublicKeyToken=1b44e1d426115821'またはその依存関係の1つを読み込めませんでした。見つかったアセンブリのマニフェスト定義がアセンブリ参照と一致しません。(HRESULTからの例外:0x80131040)

例外の詳細:System.IO.FileLoadException:ファイルまたはアセンブリ'log4net、Version = 1.2.10.0、Culture = neutral、PublicKeyToken=1b44e1d426115821'またはその依存関係の1つを読み込めませんでした。見つかったアセンブリのマニフェスト定義がアセンブリ参照と一致しません。(HRESULTからの例外:0x80131040)

ソースエラー:

 Line 76:     </script>
Line 77:     <form id="form1" runat="server">
Line 78:     <asp:ScriptManager ID="radscriptmanager" runat="server">
Line 79:     </asp:ScriptManager>
Line 80:     <asp:ContentPlaceHolder ID="cphAfterScriptManager" runat="server">

ソースファイル:MainFront.Master行:78

アセンブリロードトレース:次の情報は、アセンブリ'log4net、Version = 1.2.10.0、Culture = neutral、PublicKeyToken=1b44e1d426115821'をロードできなかった理由を特定するのに役立ちます。

4

1 に答える 1

10

この理由は、アプリケーションで1.2.10に依存していることと、インストールしたlog4netの新しいバージョンが新しい署名キーのために互換性がないことが原因である可能性があります。

1.2.11別のキーで署名されていることに気付くでしょう。これは、多くの人に苦痛を与えています。結局1.2.10に戻っただけです。

ただし、以前のキーを引き継いだバージョン1.2.11があります。それをダウンロードして次のことを行うだけで、すべて問題ないはずです。

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

次のURLから新旧のキーを取得できます:http://logging.apache.org/log4net/download_log4net.cgi

于 2012-07-26T11:09:27.223 に答える