Vs2010とクリスタルレポートバージョン13.0.2000.0、システム64ビットクリスタルレポートランタイム64ビットを使用しています。私のアプリケーションは開発マシンで正常に実行されていますが、サーバーにデプロイするとこのエラーが発生します
ファイルまたはアセンブリ 'log4net、Version = 1.2.10.0、Culture = neutral、PublicKeyToken = 692fbea5521e1304'またはその依存関係の1つをロードできませんでした。システムは、指定されたファイルを見つけることができません。
説明:現在のWeb要求の実行中に未処理の例外が発生しました。エラーの詳細およびコードのどこで発生したかについては、スタックトレースを確認してください。例外の詳細:System.IO.FileNotFoundException:ファイルまたはアセンブリ 'log4net、Version = 1.2.10.0、Culture = neutral、PublicKeyToken = 692fbea5521e1304'またはその依存関係の1つを読み込めませんでした。システムは、指定されたファイルを見つけることができません。
エラーの原因:
CR:CrystalReportViewer ID = "CrystalRportViewrRegistration" runat = "server" AutoDataBind = "true"
そして、私はlog4net.dllを見つけられなかったGACアセンブリをチェックしました、そして、私のシステムでさえ、すべてを検索し、ランタイムバージョンの変更やApacheからのlo4net dllのアップロードなどのさまざまなことを試しましたが、運はありませんでした。
32ビットアプリケーションを実行するようにIISを構成するには、次の手順に従う必要があります。
Open IIS
Go to current server – > Application Pools
Select the application pool your 32-bit application will run under
Click Advanced setting or Application Pool Default
Set Enable 32-bit Applications to True
このオプションを使用できない場合は、次の次の手順に従ってください。
Go to %windir%\system32\inetsrv\
Execute the appcmd.exe tool:
Log4net.dllがデプロイしようとしているマシンの%systemdrive%\windows\Assembly\
に表示されない場合、Crystal Reports for .Net Framework 4.0の再配布可能ファイルを正常にインストールしていない可能性があります。
http://scn.sap.com/docs/DOC-7824 から最新のサービスパックをインストール(または再インストール)します(SAP Crystal Reports、Microsoft Visual Studio更新およびランタイムダウンロードの開発者バージョン)
そのランタイムディストリビューションは、多数のCrystalDecisions dllとともにlog4netをGACに追加する必要があります。
正しいプラットフォーム(32ビットまたは64ビット)のバージョンがインストールされていることを確認してください。 64ビットマシンに32ビットランタイムをインストールすると、同じ問題に直面しました。正しいもの、つまり64ビットをインストールすると、問題は解決しました。
同じ問題に直面しました(VS 2015)が、アプリケーションは32ビットアプリケーションプールで実行されています。そのため、マシンは64ビットです。 32ビットインストールをインストールしましたが、動作します。
私はそのすべてを試しましたが、うまくいきませんでした。
SAPCrystalReportを自分のコンピューターにインストールしたところ、今は機能しています。
この特定のエラーについて、Crystal Reportのバージョン20をインストールし、問題を解決しました: https://www.tektutorialshub.com/crystal-reports/crystal-reports-download-for-visual-studio/#Service -Pack-16
次のリンクを使用してファイルを単独でダウンロードすることもできます https://www.nuget.org/api/v2/package/log4net/1.2.1 ファイルの名前を.Zipに変更して抽出します。
したがって、一般的にdllは2つの場所に配置する必要があります。
したがって、log4net.dllへの参照を追加するだけです。 (PublicKeyToken = 692fbea5521e1304の32ビットの場合)
あなたはそれを達成することができます