37

Crystal Reports API を使用してフォームを表示および印刷するデスクトップ アプリケーションをクライアントに展開しています。InstallShield 2012 を使用してインストーラーをビルドしています。すべての Crystal アセンブリと共に .NET 4.0 Framework も含めました。私には2つの(ちょっと関連した)懸念があります:

1) クライアント マシンでアプリケーションを実行しようとすると、次のエラーが表示されます。

The type initializer for 'CrystalDecisions.CrystalReports.Engine.ReportDocument' 
      threw an exception.

ここで何を忘れているのかわかりません。CrystalDecisions.CrystalReports.Enginedll は GAC に正しく登録されており、他の約 10 個の Crystal アセンブリも同様です。

2) SAP フォーラムでこの質問をしたところ、.NET 4.0 Framework と共に .NET 2.0 Framework を含める必要があると言われました。インストーラー パッケージに .NET 2.0 再頒布可能ファイルを含めようとしましたが、インストーラーはそれをインストールしません。インストーラーは 4.0 がインストールされていることを認識し、2.0 のインストールをスキップしますか?

4

19 に答える 19

8

プラットフォーム ターゲットのプロジェクトのプロパティを確認します。Crystal Reports の対応するバージョンをインストールします。

To x86 > CRforVS_redist_install_32bit
To x64 > CRforVS_redist_install_64bit
于 2014-06-05T18:59:11.140 に答える
6

バグの内部例外には、ファイルまたはアセンブリを読み込めませんでした 'log4net、Version=1.2.10.0、Culture=neutral、PublicKeyToken=692fbea5521e1304' が表示されます

32ビットアプリケーションを有効にするためにAppPool設定をFalseに変更すると、問題が解決しました

于 2016-04-25T05:23:39.380 に答える
3

丸一日オンラインで検索し、自分で解決策を見つけました。同じシナリオで、アプリケーションは開発者のマシンでは正常に動作しますが、展開すると「crystaldecisions.crystalreports.engine.reportdocument が例外をスローしました」という例外がスローされます詳細: sys.io.filenotfoundexcep crystaldecisions.reportappserver.commlayer バージョン 13.0.2000 が見つかりません

私の IDE: MS VS 2010 Ultimate、CR V13.0.10

解決:

  1. アプリケーションに x86 を設定してから、セットアップ アプリケーションに x64 を設定します

  2. 前提条件: サポートする CR ランタイム ファイル CRRuntime_32bit_13_0_10.msi、CRRuntime_64bit_13_0_10.msi を C:\Program Files (x86)\Microsoft SDKs\Windows\v7.0A\Bootstrapper\Packages\Crystal Reports for .NET Framework 4.0 ディレクトリに配置します。

  3. マージ モジュール ファイルをセットアップ プロジェクトに含めます。ここでは、13.0.10 ソフト、13.0.16 マージ モジュール ファイルを使用しているため、バージョンは深刻ではありません。含まれているファイル: CRRuntime_13_0_16.msm このファイルは、設定されている msm ファイルの 1 つです。

この Merge モジュールをインストールすると、必要な dll が C:\Program Files (x86)\SAP BusinessObjects\Crystal Reports for .NET Framework 4.0\Common\SAP BusinessObjects Enterprise XI 4.0\win32_x86\dotnet に追加されます。

dll ファイルのバージョンによって問題が発生することはありません。

開発者のマシンで同じことを確認します。

評判ポイントが必要です。この回答が役立つ場合は、有用であるとマークしてください(+1)

于 2016-02-07T13:34:20.370 に答える
2

「MA Hanin」が上で述べたように、次のInnerExceptionようなことが原因である可能性があります。

"Unrecognized configuration section userSettings. (C:\Users\Pourakbar.h\AppData\Local\Accounting\Accounting.vshost.exe_Url_a4h1gnabohiu4wgiejk0d21rc2kbwr4g\1.0.0.0\user.config line 3)"

そして、フォルダーを削除しました:C:\Users\Pourakbar.h\AppData\Local\Accounting\Accounting.vshost.exe_Url_a4h1gnabohiu4wgiejk0d21rc2kbwr4g私のコンピューターから、それは私にとってはうまくいきました!

于 2013-10-22T15:17:50.930 に答える
1

32 ビット マシンではエラーが発生しませんでしたが、64 ビットであったため、ターゲット プラットフォームを x86 から任意の CPU に変更すると、問題が解決しました。

于 2013-08-28T09:25:08.190 に答える
0

私は問題を抱えていますタイプ初期化子..私の設定ファイルはそれを解決しました..

この「connectionStrings」「/connectionStrings」のような接続要素を持つのを忘れていました
。おそらく、コードで何をしたかによって異なります。私のエラーは、この接続要素のためにクラスを開くことができないということです。

于 2015-06-09T08:04:44.393 に答える
0

私にとってのトリックは、ターゲットマシンのアーキテクチャに応じて、ターゲットマシンを「ANY CPU」から「x64」、または場合によっては「x86」に変更することでした。より複雑な問題を示すより複雑なソリューションに移る前に、まずこれを試してみます。

于 2018-01-29T23:45:26.617 に答える
0

最近、log4net エラーで同様のエラーが発生しました。

ファイルまたはアセンブリ 'log4net、バージョン = 1.2.10.0、カルチャ = ニュートラル、PublicKeyToken = 692fbea5521e1304' を読み込めませんでした

32bitこれは 64 ビット マシン上にありましたが、ランタイム のみをインストールしました。

ビルドがターゲットであることを確認することはx86、私にとってのみ機能しました。

于 2017-03-09T13:07:17.433 に答える