我的报告在32位机器上工作正常,但不会在64位上打开.需要64位,因为在其中一个屏幕上加载数据会导致内存问题 - 因此无法在32位上运行.
尝试安装13.0.20(最新)并重新启动PC但没有工作.编辑#1
编辑#2
显示报告的源代码是
CrystalDecisions.CrystalReports.Engine.ReportClass c = new
CrystalDecisions.CrystalReports.Engine.ReportClass();
c.FileName = System.IO.Path.Combine(Root_Path,
"Reports", "Prod", mFileName);
c.Load();
c.SetDataSource(dt); // dt => DataTable
c.SetParameterValue("prmSystemDate", Current_Date);
frmReportViewer v = new frmReportViewer();
v.ReportClass = c;
v.Show();
Run Code Online (Sandbox Code Playgroud)
而frmReportViewer FormLoad是
private void frmReportViewer_Load(object sender, EventArgs e)
{
CRViewer.ReportSource = ReportClass;
//CRViewer =>
//CrystalDecisions.Windows.Forms.CrystalReportViewer
}
Run Code Online (Sandbox Code Playgroud)
我某处出错了吗?
编辑#3
x86和x64上的DataTable是相同的.(将数据表保存在xml中,两个文件完全相同).
Process Monitor显示我的程序CreateFile对以下文件执行操作
C:\ WINDOWS\Microsoft.Net\assembly\GAC_64\CrystalDecisions.Web\v4.0_13.0.2000.0__692fbea5521e1304\CrystalDecisions.Web.dll C:\ WINDOWS\Microsoft.Net\assembly\GAC_MSIL\CrystalDecisions.Web\v4.0_13 .0.2000.0__692fbea5521e1304\CrystalDecisions.Web.dll C:\ …