packageTmp を inetpub/wwwroot にコピーし、Web サイトを追加してパスとして含めました。
Crystal Report ランタイム CRRuntime_32bit_13_0_4 をインストールしましたが、それでも機能しませんでした。
また、wwwroot/aspnet _client/systemweb/4_0_30319 に Crystalreportviewers13 フォルダーがあります。
これは、Crystal Report のページに移動したときに発生したエラーです。パスが定義されている場所がわかりますか? この問題は、IIS にアプリケーションを展開するときに発生します。
例外の詳細: System.Runtime.InteropServices.COMException: 無効なファイル名です。
ソース エラー:
An unhandled exception was generated during the execution of the current web request. Information regarding the origin and location of the exception can be identified using the exception stack trace below.
スタックトレース:
[COMException (0x800001fb): Invalid file name.]
CrystalDecisions.ReportAppServer.ClientDoc.ReportClientDocumentClass.Open(Object& DocumentPath, Int32 Options) +0
CrystalDecisions.ReportAppServer.ReportClientDocumentWrapper.Open(Object& DocumentPath, Int32 Options) +95
CrystalDecisions.ReportAppServer.ReportClientDocumentWrapper.EnsureDocumentIsOpened() +270
[CrystalReportsException: Load report failed.]
CrystalDecisions.ReportAppServer.ReportClientDocumentWrapper.EnsureDocumentIsOpened() +333
CrystalDecisions.CrystalReports.Engine.ReportDocument.Load(String filename, OpenReportMethod openMethod, Int16 parentJob) +877
CrystalDecisions.CrystalReports.Engine.ReportClass.Load(String reportName, OpenReportMethod openMethod, Int16 parentJob) +1183
CrystalDecisions.CrystalReports.Engine.ReportDocument.EnsureLoadReport() +113
CrystalDecisions.CrystalReports.Engine.ReportDocument.SetDataSourceInternal(Object val, Type type) +53
CrystalDecisions.CrystalReports.Engine.ReportDocument.SetDataSource(DataTable dataTable)
....
これは、reportxx.rpt の .aspx コードの背後にある .cs コードです。
m_reportxx = new reportxx();
CrystalReportViewer1.ToolPanelView = CrystalDecisions.Web.ToolPanelViewType.None;
DataTable dt = data.GetReport();
reportxx.SetDataSource(dt);
CrystalReportViewer1.ReportSource = m_reportxx;
これを試してみたところ、ビジュアルスタジオ環境でのデバッグ中に機能しました。