获取"无法加载类型"升级到最新的Crystal Reports Runtime版本13.0.21.2533

时间:2018-02-15 20:15:06

标签: asp.net crystal-reports

我们有一个工作应用程序,ASP.NET Web表单,它使用Crystal Reports运行时并在嵌入式打印预览窗口中显示报表。它部署在Windows 2012服务器上,适用于CR Runtime v13.0.18及更低版本。

今天我们安装了最新的Crystal Reports运行时版本13.0.21.2533(从http://www.crystalreports.com/crvs/confirm/下载),打印预览窗口现在引发了这个错误:

分析器错误  说明:解析为此请求提供服务所需的资源时发生错误。请查看以下特定的解析错误详细信息并相应地修改源文件。

  

分析程序错误消息:无法加载类型' MyApp.printPreview1'。

     

来源错误:

     

第1行:<%@ Control Language =" vb" AutoEventWireup ="假"   代码隐藏=" printPreview.ascx.vb"继承=" MyApp.printPreview1"   的EnableViewState ="真" %GT;第2行:<%@注册   Assembly =" CrystalDecisions.Web,Version = 13.0.2000.0,Culture = neutral,   公钥= 692fbea5521e1304"命名空间=" CrystalDecisions.Web"   的TagPrefix =" CR" %GT;第3行:源文件:   /MyApp/printPreview.ascx行:1

回滚到v..21之前的任何版本似乎工作正常,但这些旧版本已从SAP / Crystal网站上消失,迫使我们使用运行时v..21。

这是一个重大变化,使我们的应用程序中的所有报告都无法运行。

1 个答案:

答案 0 :(得分:2)

在此处查看有关此更新的Crystal网站后:

https://wiki.scn.sap.com/wiki/display/BOBJ/Crystal+Reports%2C+Developer+for+Visual+Studio+Downloads

具体做法是:

  

以下项目应突出显示SP21:
  ...

     
      
  1. 由于大多数CR / RAS .NET程序集现已从13.0.2000.0重新版本化为13.0.3500.0,因此用户必须从参考列表中删除所有旧CR程序集并添加新版本的CR程序集,然后   重建申请。
      一个。对于那些没有的客户/用户   想要重建他们的应用程序,有使用的解决方法   app.config / web.config中的<dependentAssembly>,请参阅附件。
  2.   

我看来你必须a)在web.config中更改你对13.0.3500.0的版本引用,b)在Visual Studio中重建你的应用程序。

对于我们来说,这不是一个真正实用的选择,因为我们有几个就地安装会立即中断,并且使用正在进行的实时应用程序进行重建并不简单。

相反,我们选择使用点&#34; 4.a&#34;中列出的dependentAssembly方法。以上。基本上我们所做的就是编辑web.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>标记上方,保存,并且打印预览窗口开始工作。一个很好的解决方法,直到我们推出一个内置正确引用的新版本。