【问题标题】:Crystal Reports for Visual Studio 2017适用于 Visual Studio 2017 的水晶报表
【发布时间】:2020-05-19 11:16:00
【问题描述】:

我们最近升级到 Visual Studio 2017,现在需要更新版本的 CR。

  1. 用户计算机的 CR 版本为 13.0.5(具有 13.0.2000 个 DLL)。
  2. 开发机器的 CR 版本为 13.0.22(具有 13.0.3500 个 DLL)。

我认为部署 13.0.3500 DLL 是可以接受的,因为它的版本较新,但用户计算机似乎报告了各种不同的错误,例如无法找到 13.0.3500 DLL。以前编译的应用程序不适用于新版本,因此无论哪种方式都有问题。

似乎在单台机器上升级是一个突破性的变化。问题似乎是为了进行转换,所有应用程序和用户机器都必须同时升级,这是不切实际的。有没有办法进行逐步转换,允许环境同时在用户/开发人员机器上使用 13.0.5 和 13.0.22 的通用配置文件?

谢谢

【问题讨论】:

    标签: crystal-reports


    【解决方案1】:

    您必须将以下配置添加到 app.config。 相应地更改旧版本和新版本

    <runtime> 
    <assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1"> 
    
    <dependentAssembly> 
    <assemblyIdentity name="CrystalDecisions.CrystalReports.Engine" publicKeyToken="692fbea5521e1304" culture="neutral"/>
    <bindingRedirect oldVersion="13.0.2000.0" newVersion="13.0.3500.0"/>
    </dependentAssembly> 
    
    <dependentAssembly> <assemblyIdentity name="CrystalDecisions.ReportSource" publicKeyToken="692fbea5521e1304" culture="neutral"/> <bindingRedirect oldVersion="13.0.2000.0" newVersion="13.0.3500.0"/>
     </dependentAssembly> 
    
    <dependentAssembly> 
    <assemblyIdentity name="CrystalDecisions.Shared" publicKeyToken="692fbea5521e1304" culture="neutral"/> <bindingRedirect oldVersion="13.0.2000.0" newVersion="13.0.3500.0"/>
     </dependentAssembly> 
    
    <dependentAssembly> 
    assemblyIdentity name="CrystalDecisions.Web" publicKeyToken="692fbea5521e1304" culture="neutral"/> <bindingRedirect oldVersion="13.0.2000.0" newVersion="13.0.3500.0"/>
     </dependentAssembly> 
    
    <dependentAssembly> <assemblyIdentity name="CrystalDecisions.Windows.Forms" publicKeyToken="692fbea5521e1304" culture="neutral"/> <bindingRedirect oldVersion="13.0.2000.0" newVersion="13.0.3500.0"/>
     </dependentAssembly> 
    
    <dependentAssembly> <assemblyIdentity name="CrystalDecisions.ReportAppServer.ClientDoc" publicKeyToken="692fbea5521e1304" culture="neutral"/> <bindingRedirect oldVersion="13.0.2000.0" newVersion="13.0.3500.0"/>
     </dependentAssembly> 
    
    <dependentAssembly> 
    <assemblyIdentity name="CrystalDecisions.ReportAppServer.CommonControls" publicKeyToken="692fbea5521e1304" culture="neutral"/> <bindingRedirect oldVersion="13.0.2000.0" newVersion="13.0.3500.0"/>
     </dependentAssembly> 
    
    <dependentAssembly> 
    <assemblyIdentity name="CrystalDecisions.ReportAppServer.CommonObjectModel" publicKeyToken="692fbea5521e1304" culture="neutral"/> <bindingRedirect oldVersion="13.0.2000.0" newVersion="13.0.3500.0"/>
     </dependentAssembly>
    
    <dependentAssembly> 
    <assemblyIdentity name="CrystalDecisions.ReportAppServer.Controllers" publicKeyToken="692fbea5521e1304" culture="neutral"/> <bindingRedirect oldVersion="13.0.2000.0" newVersion="13.0.3500.0"/>
     </dependentAssembly> 
    
    <dependentAssembly> 
    <assemblyIdentity name="CrystalDecisions.ReportAppServer.CubeDefModel" publicKeyToken="692fbea5521e1304" culture="neutral"/> <bindingRedirect oldVersion="13.0.2000.0" newVersion="13.0.3500.0"/>
     </dependentAssembly> 
    
    <dependentAssembly> 
    <assemblyIdentity name="CrystalDecisions.ReportAppServer.DataDefModel" publicKeyToken="692fbea5521e1304" culture="neutral"/> <bindingRedirect oldVersion="13.0.2000.0" newVersion="13.0.3500.0"/>
     </dependentAssembly> 
    
    <dependentAssembly> 
    <assemblyIdentity name="CrystalDecisions.ReportAppServer.DataSetConversion" publicKeyToken="692fbea5521e1304" culture="neutral"/> <bindingRedirect oldVersion="13.0.2000.0" newVersion="13.0.3500.0"/> 
    </dependentAssembly> 
    
    <dependentAssembly> 
    <assemblyIdentity name="CrystalDecisions.ReportAppServer.ObjectFactory" publicKeyToken="692fbea5521e1304" culture="neutral"/> <bindingRedirect oldVersion="13.0.2000.0" newVersion="13.0.3500.0"/> </dependentAssembly>
    
    <dependentAssembly> 
    <assemblyIdentity name="CrystalDecisions.ReportAppServer.Prompting" publicKeyToken="692fbea5521e1304" culture="neutral"/> <bindingRedirect oldVersion="13.0.2000.0" newVersion="13.0.3500.0"/> </dependentAssembly> 
    
    <dependentAssembly> 
    <assemblyIdentity name="CrystalDecisions.ReportAppServer.ReportDefModel" publicKeyToken="692fbea5521e1304" culture="neutral"/> <bindingRedirect oldVersion="13.0.2000.0" newVersion="13.0.3500.0"/> </dependentAssembly> 
    
    <dependentAssembly> 
    <assemblyIdentity name="CrystalDecisions.ReportAppServer.XmlSerialize" publicKeyToken="692fbea5521e1304" culture="neutral"/> <bindingRedirect oldVersion="13.0.2000.0" newVersion="13.0.3500.0"/> </dependentAssembly> 
    
    </assemblyBinding> 
    </runtime>
    /configuration>
    

    来源: crystal report for visual studio 2017

    【讨论】:

      【解决方案2】:

      您必须为开发人员下载 Crystal Reports for Visual Studio 2017 并安装在开发机器上。您还必须在用户机器上安装运行时(64 位或 32 位)。不要忘记卸载以前存在的任何旧版本的 Crystal Reports。Crystal Reports 的链接是这个http://www.crystalreports.com/crvs/confirm/。如果您在用户计算机中有 Web 环境,请不要忘记检查 c:\inetpub\wwwroot 是否有 Web .Config 必须为 CR DLL (13.0.3500) 更新。 祝你好运!

      【讨论】:

      • 它不是一个网络应用程序......我最终不得不创建一些东西来处理 appdomain.assemblyresolve 事件......否则我可能不得不配置很多用户系统
      • 叹气,你还需要在目标机器上下载并安装运行时,叹气是一种同情,我读到它不是一个网络应用程序。
      猜你喜欢
      • 2018-03-30
      • 2012-05-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2018-07-15
      • 1970-01-01
      相关资源
      最近更新 更多