64位计算机无法打开Crystal Report

bja*_*jan 9 c# 64-bit desktop-application crystal-reports .net-4.6.2

我的报告在32位机器上工作正常,但不会在64位上打开.需要64位,因为在其中一个屏幕上加载数据会导致内存问题 - 因此无法在32位上运行.

  1. Windows 10 64位
  2. 已安装的Crystal Reports 尝试安装13.0.20(最新)并重新启动PC但没有工作.
  3. 应用程序目标框架4.6.2(我甚至尝试过4.0但同样的错误)
  4. 使用Visual Studio 2017社区(尝试VS 2015)
  5. 平台x64(不是AnyCPU)
  6. 通过传递DataTable生成报告,报告中没有活动连接或ConnectionString
  7. 错误信息

在此输入图像描述

编辑#1

  1. Web.config包括 useLegacyV2RuntimeActivationPolicy="true"
  2. x86和x64中的DataTables是相同的在此输入图像描述

编辑#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上没有与之相关的操作.

它表明了什么?

小智 0

即使您的计算机是 64 位,也请安装 32 位版本的 Crystal Reports。

我的机器也是64位的,但我使用32位版本的软件,运行得很好。