代码之家  ›  专栏  ›  技术社区  ›  Samantha Branham

如何将我的.NET 3.5项目中的水晶报表库升级到CR XR2?

  •  2
  • Samantha Branham  · 技术社区  · 14 年前

    我们的项目目前使用的是Crystal Reports for Visual Studio 2008。我们需要升级到xi r2,但我在升级时遇到问题。以下是我遵循的步骤:

    1. 安装水晶报表XR2。
    2. 从GAC收集更新的程序集。我这样做是因为在“添加引用…”对话框中找不到版本XI库。我已验证这些程序集的版本为11.5.*。我收集的图书馆有:
      • CrystalDecisions.CrystalReports.Engine
      • CrystalDecisions.Enterprise.Framework
      • CrystalDecisions.Enterprise.InfoStore
      • CrystalDecisions.ReportSource
      • CrystalDecisions.Shared
      • CrystalDecisions.Windows.Forms
    3. 将我的项目中对10.5版Crystal库的所有引用替换为对较新程序集的引用。

    一切都构建得很好,但是当我尝试实例化reportdocument时,会出现以下错误:

    The type initializer for 'CrystalDecisions.CrystalReports.Engine.ReportDocument' threw an exception.
    

    我有什么遗漏吗?这不管用吗?

    2 回复  |  直到 12 年前
        1
  •  2
  •   Samantha Branham    14 年前

    如果我理解你的问题,你不能升级到CR XR2,并使用它与VS 2008。XI R2的最高支持版本是VS 2005。我想你得把CR产品升级到CR 2008。

        2
  •  1
  •   RicardoBalda    14 年前

    -从控制面板程序中卸载Crytal Report 2008。

    -重新启动电脑

    -然后将“引用”选项卡“浏览”添加到此路径C:\程序文件\业务对象\公共项\ 3.5 \托管项\点网络2,并为解决方案选择dll

    -添加此代码以测试de引用

    Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
    
        Dim rptDocument As ReportDocument
        rptDocument = New ReportDocument()
    
        Dim reportPath As String = Application.StartupPath & "\" & "CrystalReport1.rpt"
        rptDocument.Load(reportPath)
    
        Me.myCrystalReportViewer.ReportSource = rptDocument
    
    End Sub
    
    
    Private Sub myCrystalReportViewer_ClickPage(ByVal sender As Object, ByVal e As CrystalDecisions.Windows.Forms.PageMouseEventArgs) Handles myCrystalReportViewer.ClickPage
        Debug.Print(e.ObjectInfo.Text)
    End Sub