如何部署具有Crystal Report的WPF应用程序
本文关键字:Report Crystal WPF 应用程序 何部署 部署 | 更新日期: 2023-09-27 18:19:38
我的项目中有两个水晶报告。
我的项目中有SaleBillReport.rpt文件。它是使用报告对象方法加载的,其代码如下所示。
第一份报告显示为-
情况1:
SaleBillReport rptObj = new SaleBillReport();//My Rpt file name
rptObj.SetDataSource(_ReportDataSet);
_reportViewer.ReportSource = rptObj;
第二份报告显示为-
情况2:
ReportDocument objReportDoc = new ReportDocument();
objReportDoc.Load(@"D:''" + "MyReport.rpt");
ReportViewerNew.ReportSource = objReportDoc;
我的问题是,在部署这个项目时,我不需要把任何.rpt文件放在任何地方。它是在我的应用程序中内置的。
但我必须把我的第二个.rpt文件放在任何路径上显示。(我哪儿也不想放)因此,我如何在部署期间在项目中构建案例2.rpt文件。
提前感谢
使用反射查找应用程序安装在的位置
System.Reflection.Assembly.GetExecutingAssembly
方法外植体
询问该程序集的文件夹,并将您的报告文件名添加到该路径。。。
一个解决方案可以使用反射,但这有点棘手。
第二个也是更简单的一个是使用CCD_ 1。
为此,修改您的案例2代码如下-
ReportDocument objReportDoc = new ReportDocument();
string reportPath = System.IO.Path.Combine(Environment.CurrentDirectory, "MyReport.rpt");
objReportDoc.Load(reportPath);
ReportViewerNew.ReportSource = objReportDoc;
要使您的报告始终永久位于当前目录位置,只需转到MyReport.rpt文件的属性,然后选择始终复制或如果更新则复制