【问题标题】:Crystal Reports different versions on pc and on server电脑和服务器上的 Crystal Reports 不同版本
【发布时间】:2012-03-07 21:33:59
【问题描述】:

我正在使用 Crystalreportviewer 控件(版本 10.5.3700.0)构建一个 winforms 应用程序。应用程序工作正常(它从资源加载报告并正常显示)。 但是当我将我的应用程序放在运行时版本为 12.0.1100.0 和 12.0.2000.0 的服务器(其他 pc)上时。 我的应用程序根本没有显示,甚至错误也没有显示:/

我试图通过删除引用并添加新的引用在我的应用程序中使用版本 12.0.1100.0 中的 dll,但这会产生错误。

我无法在服务器上安装运行时 10.5。

是否可以将版本 12.0.xxxx 中的控件添加到 Visual Studio 2008? 该怎么做?

我认为如果我在我的应用程序中使用 12.0.xx 版本的控件,它会正常工作。

请帮忙!!!

我做了什么:

我已经从工具箱中删除了 Crystalreportviewer 控件,并从包含 12.0 版的 dll 中添加了新控件,但没有运气。视觉正在添加控件,所有引用,但控件不可见:/

【问题讨论】:

    标签: c# visual-studio-2008 crystal-reports


    【解决方案1】:

    最佳解决方案是在服务器上安装相同的运行时。
    无论如何,你可以在你的 app.config 或 web.config 中使用这个 XML:

      <runtime> 
        <assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1">
          <dependentAssembly>
            <assemblyIdentity name="CrystalDecisions.CrystalReports.Engine" publicKeyToken="692fbea5521e1304" culture="neutral"/>
            <bindingRedirect oldVersion="xx.x.xxxx.x" newVersion="yy.y.yyyy.y"/>
          </dependentAssembly>
          <dependentAssembly>
            <assemblyIdentity name="CrystalDecisions.Shared" publicKeyToken="692fbea5521e1304" culture="neutral"/>
            <bindingRedirect oldVersion="xx.x.xxxx.x" newVersion="yy.y.yyyy.y"/>
          </dependentAssembly>
          <dependentAssembly>
            <assemblyIdentity name="CrystalDecisions.ReportSource" publicKeyToken="692fbea5521e1304" culture="neutral"/>
            <bindingRedirect oldVersion="xx.x.xxxx.x" newVersion="yy.y.yyyy.y"/>
          </dependentAssembly>
          <dependentAssembly>
            ...
        </assemblyBinding>
      </runtime>
    

    其中 oldVersion 是您用于开发的版本,newVersion 是安装在服务器上的版本

    【讨论】:

    • 我正在尝试这样做,但我需要能够将版本 12.0.1100.0 中的控件添加到我的表单中。如果我用新的 dll 替换我并向表单添加控件不显示,它就像一个时钟控件。有什么想法吗?
    • 对不起,没用过 12.0 控件,试试在一个新的空白项目中是否可以工作。无论如何,如果你不这样解决,bindingRedirecting 将允许你在服务器上部署。祝你好运!
    • 我的应用程序获取 ID 作为参数,然后在表单上显示附加报告。任何提示如何在 10.5 中创建将在安装了运行时 12 的服务器上运行的应用程序?任何链接,示例项目可能吗? :)
    • 有效! :) app.exe.config 工作,我第一次尝试这个解决方案时版本不匹配。 crystalrepotsviewer 看起来不同,但它可以工作,谢谢 :)
    【解决方案2】:

    嗯,我使用的是 CrystalReports,但用于 web。我也面临同样的问题。 CR 对版本和其他东西非常无聊。 我们在这里的解决方案是保留 10.5 版本并在服务器上安装相同的版本。 但是,也许这些链接可以以某种方式帮助您:

    仅下载 CrystalReports 包: http://resources.businessobjects.com/support/additional_downloads/runtime.asp

    要查找任何种类的 CrystalReports 下载: https://websmp230.sap-ag.de/sap%28bD1wdCZjPTAwMQ==%29/bc/bsp/spn/bobj_download/main.htm

    【讨论】:

    • 我做了什么从工具箱中删除 Crystalreportviewer 控件并从包含 12.0 版的 dll 中添加了新控件,但没有运气:/
    • 嗯,好的。不显示任何错误?生成报告的页面,可以访问吗?当您访问该页面时会发生什么?
    • 正如我在做一个winform应用程序之前所说的那样:) 是否可以用新版本替换工具箱中的控件?
    • 哦,是的,当然。当我说“页面”时,我想说“表格”。但是,是的,你可以。在工具箱的“选择项目”中,您必须取消选中当前 CR 控件复选框,然后单击确定(以确保我们删除了当前控件)。然后,您必须在“选择项目”的“浏览”中选中新版本的 CR 控制复选框,您已经引用了正确的 dll。我想你已经这样做了,对吧?
    • 是的,我已经尝试过了:/ 我正在从 GAC 中选择项目,可能是因为我在 C:\Program Files\Business Objects\Common\4.0\managed\dotnet2 中没有任何文件. Mayby,如果我有这些文件,它会起作用吗?你可能知道如何得到它们吗?那些和运行时一样吗?我正在使用 CR 版本 10
    猜你喜欢
    • 1970-01-01
    • 2018-06-04
    • 2013-05-17
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-09-04
    • 1970-01-01
    相关资源
    最近更新 更多