web-dev-qa-db-ja.com

デプロイ時のCrystal Reportsエラー。ファイルまたはアセンブリ 'log4netをロードできませんでした

助けてください。 VS2010で構築されたWebアプリケーションがあり、2010年にCRプラグインを使用しており、すべてがローカルマシンで完璧に動作します。 WebアプリケーションをServer 2008に展開すると、レポートを取得するまでアプリケーションは正常に実行されます。私たちが受け取るレポートに到達すると...

Could not load file or Assembly 'log4net, Version=1.2.10.0, Culture=neutral, PublicKeyToken=692fbea5521e1304' or one of its dependencies. The system cannot find the file specified. 

CR2010ランタイムをインストールしました。ファイルlog4net.dllバージョン1.2.10.0はGACにあるため、アプリケーションでは参照していません。参照として追加すると、レポートページだけでなく、アプリケーションのどこにいてもこのエラーが発生します。助けてください!

27
EvanGWatkins

X86バージョンのクリスタルレポートを誤ってx64マシンに再インストールすると、同じエラーメッセージが表示されました。

正しいx64 redistをインストールすると問題が修正されました- http://downloads.businessobjects.com/akdlm/cr4vs2010/CRforVS_redist_install_64bit_13_0.Zip

21
user639614

ちょうど同じ問題にぶつかりましたが、Crystal Reportsのバージョンではないことが判明しました(64ビットマシンに32ビットバージョンをインストールしました。問題を解決する方法は

仮想ディレクトリのアプリケーションプールに移動します->詳細設定-> Set Enable 32-Bit Applications to True

マネージパイプラインモードをクラシックから統合に変更しました。その後、失われたlog4net dllのエラーはなくなりました。

20
Matt Palmerlee

X86開発マシンを使用しており、Webサーバーが64ビットマシンである場合、ここで説明する問題が発生している可能性があります。

http://social.msdn.Microsoft.com/Forums/en-US/vscrystalreports/thread/546059a6-7179-4027-8f16-822ac6dc189a/

Visual Studioは、プロジェクトで参照されていない場合でも、32ビットlog4net.dllを64ビットWebサーバーに自動的に展開しています。 CRランタイムが動作するために実際には必要ないため、展開が完了したら、binディレクトリからlog4net.dllを削除するだけです。

4
Dani Carbonell

64ビットの再頒布可能パッケージがインストールされている場合にも同じ問題が発生しました。この例では、高度なアプリケーションプールプロパティで[32ビットアプリケーションを有効にする]設定をFALSEに設定し、問題を解決しました。

3
Alan Samet

私にとっては、VBアプリケーションプロジェクトで、[コンパイルオプション]の下で、ターゲットCPUに[任意のCPU]を選択し、[32ビットを優先]チェックボックスもオンにしました。 x64ランタイムのみがインストールされた64ビットマシンでは、32ビットアプリとして実行しようとし、32ビットランタイムが必要だったため、このエラーでクラッシュする可能性がありました。このオプションをオフにして再コンパイルすると正常に動作しました。

1

私の問題を解決しました。

2つのNLB 2008 R2サーバーがあり、IISはx32で実行するように構成されています。

1つのサーバーにx64とx32のSAP redistをインストールしましたが、エラーがあります。2番目のサーバーにはx32のみが動作します。

最初のサーバーを動作させるには、すべてのバージョンをアンインストールし、x32のみを再インストールしましたが、サーバーは再起動後にのみ動作を開始します。

バイバイ

0
Fiorebat