bja*_*jan 9 c# 64-bit desktop-application crystal-reports .net-4.6.2
我的报告在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:\ WINDOWS\Microsoft.Net\assembly\GAC\CrystalDecisions.Web\v4.0_13.0.2000.0__692fbea5521e1304\CrystalDecisions.Web.dll C:\ WINDOWS\assembly\GAC_64\CrystalDecisions名.web\13.0.2000.0__692fbea5521e1304\CrystalDecisions.Web.dll
所有都失败了PATH NOT FOUND结果.它成功了
C:\ WINDOWS \装配\ GAC_MSIL\CrystalDecisions.Web\13.0.2000.0__692fbea5521e1304\CrystalDecisions.Web.dll
然后两个BUFFER OVERFLOW发生在同一个文件上.
它只发生在x64上.CrystalDecisions.Web.dll在x86上没有与之相关的操作.
它表明了什么?