16

私はこのエラーを解決しようとしています:

ファイルまたはアセンブリ 'log4net, Version=1.2.10.0, Culture=neutral, PublicKeyToken=692fbea5521e1304' またはその依存関係の 1 つを読み込めませんでした。システムは指定されたファイルを見つけることができません。」 このエラーは web.config ファイルにあります。

log4net.dll を webapp の bin ディレクトリにコピーすると、

ファイルまたはアセンブリ 'log4net, Version=1.2.10.0, Culture=neutral, PublicKeyToken=692fbea5521e1304' またはその依存関係の 1 つを読み込めませんでした。見つかったアセンブリのマニフェスト定義がアセンブリ参照と一致しません。

このエラーは、web.config ファイルでも発生します。

アセンブリが正しく読み込まれるように、バージョンと公開キー トークンをファイルに一致するように変更するのは簡単です。reportViewerこれを行うと、オブジェクトが初期化される場合を除いて、Web サイトは完全に実行されます。次に、web.config ではなく、reportViewer タグで元のエラーをスローします。

私の仮説は、要求されたバージョンの をインストールすればlog4net.dll、問題は解決するというものです。しかし、それがどのファイルなのか、どこにあるのかわかりません。log4net 1.2.10 をダウンロードし、ダウンロード内のすべての dll を試してみて、明らかなことを確認しました。

Web サイトは開発マシンでは問題なく実行されますが、サーバーに公開された場合は問題ありません。

Server 2008 R2 OSでasp.net Webサイト、.NET 4.0、IIS 7を実行しています。64 ビット用の Crystal Reports 13.0.1 をインストールしました (私のマシンは 64 ビットです)。

この問題を解決するにはどうすればよいですか?

編集: @Kevian の回答に応じて、web.config ファイルに変更を加えました。マニフェスト定義がアセンブリ参照と一致しないというエラーが引き続き発生します。このエラーをスローするコードは次のとおりです。

Line 33:     <CR:CrystalReportViewer ID="CrystalReportViewer1" runat="server"   AutoDataBind="true"
Line 34:         BestFitPage="True" ToolPanelView="None" />
4

7 に答える 7

2

これをweb.configに追加してみてください。基本的に、両方のバージョンで同じアセンブリをロードしても問題がないことをランタイムに通知します

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

1.2.10.0binフォルダに実際にあるバージョンに置き換える必要があります。

于 2012-07-26T16:45:06.193 に答える
0

コードでこの問題が発生しました。誰かが使用していたプロジェクトの 1 つに Log4Net バージョンの競合がありました。彼らは 12.2.10 を使用しており、私は 12.2.13 を使用していました。そのため、問題を解決するために、参照を取り除き、それらの参照 dll を見つけました。代わりにそれを使用しましたが、完全に機能しました。

リファレンスを見つけるために、Microsoft Visual Studio にはブラウザ機能があります。それを使用してdllを取得できます。dll を見つけるには、プロジェクト内の参照をクリックし、検索する参照をクリックします。この場合、Log4Net. 依存関係のリストが表示され、他の log4net は選択した Log4Net の近くにあり、現在選択されている dll 参照の場所を示すテキストが表示されます。これは、参照を見つける場所です。

于 2015-11-10T16:35:19.033 に答える
0

この x86 バージョンをダウンロードしたところ、問題は解決しました

https://downloads.i-theses.com/index.php?option=com_downloads&task=downloads&groupid=9&id=100

于 2021-02-15T11:33:01.513 に答える