23

私はSOについて同様の質問を見てきましたが、私が知る限り、私の問題に完全に一致するものはありません。

例外メッセージ:

ファイルまたはアセンブリ'CrystalDecisions.ReportAppServer.ClientDoc、Version = 13.0.2000.0、Culture = neutral、PublicKeyToken=692fbea5521e1304'またはその依存関係の1つを読み込めませんでした。システムは、指定されたファイルを見つけることができません。

ファイルは私のGACにあります。私はVS2010を実行している32ビットマシン(Windows 7)で開発していますが、すべてが.NET4です。ターゲットのホスティングマシンは64ビットのWin2008R2です。私のローカルマシンにはVS2010用のCRがインストールされています。ホスティングマシンには、VS2010用の64ビットランタイムがあります。このWebアプリケーションのすべてのコードを「任意のCPU」モードでコンパイルしています。

GACでファイルが見つからないのは気が遠くなります。これはIISアプリケーションです。ある種の権限の問題はありますか?IISはGACにアクセスできると思います。

何をすべきかについてのいくつかの提案をいただければ幸いです。

4

4 に答える 4

15

答えはばかばかしいほど単純でしたが、なぜそれが必要だったのかについては神秘的でした。

サーバーのIISマネージャーで、Webアプリケーションのアプリケーションプールを32ビットアセンブリを許可しないように設定しました。

64ビットシステムでは、32ビットアセンブリが必要であると想定しているようです。奇妙な。

于 2012-04-04T14:26:22.487 に答える
3

1).netプロファイルをクライアントプロファイルから.Net Framework4.0http://msdn.microsoft.com/en-us/library/bb398202.aspxに変更します

2)EmbedInteropTypesフラグを確認します

相互運用タイプの埋め込みフラグ http://weblogs.asp.net/cazzu/archive/2011/03/11/check-your-embed-interop-types-flag-when-doing-visual-studio-extensibility-work.aspx

于 2012-04-03T22:50:55.820 に答える
2

32ビットサポートが必要な64ビットシステムについて。私はそれがそれほど奇妙だとは思いません:

64ビットシステムに展開されますが、これは、参照されるすべてのアセンブリが必ずしも64ビットのCrystalReportsアセンブリであることを意味するわけではありません。さらに、Crystal Reportsアセンブリは、主に、それらが基づいているレガシーDLLのコレクションへの単なるラッパーです。主に参照されるアセンブリには、多くの32ビットDLLが必要です。「アセンブリをロードできません」というエラーメッセージには、これらのDLLも含まれます。それらが何であるかを視覚的に確認するには、www.dependencywalker.comにアクセスし、問題のアセンブリで「Depends」をそのIISサーバーで直接実行します。

于 2012-04-07T04:40:58.607 に答える
2

CrystalReportReportランタイムダウンロードをDeploymentServerにインストールするだけです。それでも問題が発生する場合は、プロジェクトのメインフォルダーにcheckasp_clientフォルダーを配置します。

于 2015-07-14T12:14:49.343 に答える