• [转]未能加载文件或程序集 CrystalDecisions.Web Version=10.2.3600解决方法


    找到你开发的机器上VS安装目录中的SDKv2.0BootStrapperPackagesCrystalReportsCRRedist2005_x86.msi
    和SDKv2.0BootStrapperPackagesCrystalReportszh-chsCRREdist2005_x86_chs.msi这两个文件,在目标机上安装一次就可以了

    用vs2005中的自带水晶报表10.2开发了一个web项目,发布到服务器上遇到了一些问题,做个记录。

    一 基本发布

    在本地发布选择“仅限运行此应用程序的发布”后,水晶报表的.rpt文件不会随之发布到web目录,需要手动从项目里copy。

    二 移至服务器

    本地发布后的项目移至服务器后,水晶报表不可用。因为服务器没有安装水晶报表的工具,本地好用是因为装了vs2005默认选项自带安装。

    有人在网上对此述说如下:

    CRRedist2005_x86.msi ,CRREdist2005_x86_chs.msi这两个文件进行安装。

    这两个文件在你电脑上的位置是C:ProgramFilesMicrosoftVisualStudio 8SDKv2.0BootStrapperPackagesCrystalReports下面的CRRedist2005_x86.msi和 CRRedist2005_x86_cn.msi(或CRRedist2005_x86_jp.msi)。

    我也这样尝试了,但是似乎没有好用,于是我选择直接把vs2005在服务器上的默认路径下从新安装一次,但是只安装CrystalReports组件。 然后在服务器的 C:Program FilesCommon FilesBusiness Objects2.7 目录下会多出来两个文件夹:Managed和SSChart。其中主要需要Managed文件夹。

    三 发布后测试

    然后又发现问题,打开水晶报表界面时显示“找到的程序集清单定义与程序集引用不匹配”。百度了一下看见CSDN中有人说是因为引用了不同版本的System.Web.Extensions缘故,去Webconfig中屏蔽了

    <!--<assemblyIdentity name="System.Web.Extensions" publicKeyToken="31bf3856ad364e35"/>

            <bindingRedirect oldVersion="1.0.0.0-1.1.0.0" newVersion="3.5.0.0"/>-->

    因为本地装了VS2008,所以版本默认为3.5了。

    从新运行,仍旧是这个错误,只是下面的错误描述不同,关于“CrystalDecisions.Enterprise.InfoStore”版本报错。

    从新回到项目中查看引用及Webconfig发现,引用中 “CrystalDecisions.Enterprise.InfoStore”,“CrystalDecisions.Enterprise.Framework”,及“CrystalDecisions.CrystalReports.Engine“的版本是10.5.3700.0,但是 “CrystalDecisions.Enterprise.Desktop.Report”及 “CrystalDecisions.Shared","CrystalDecisions.Web"版本为10.2.3600.0,但是 webconfig中却为:

    <add assembly="CrystalDecisions.Web, Version=10.2.3600.0, Culture=neutral, PublicKeyToken=692FBEA5521E1304"/>

            <add assembly="CrystalDecisions.Shared, Version=10.2.3600.0, Culture=neutral, PublicKeyToken=692FBEA5521E1304"/>

            <add assembly="CrystalDecisions.ReportSource, Version=10.2.3600.0, Culture=neutral, PublicKeyToken=692FBEA5521E1304"/>

            <add assembly="CrystalDecisions.Enterprise.InfoStore, Version=10.2.3600.0, Culture=neutral, PublicKeyToken=692FBEA5521E1304"/>

           

            <add assembly="CrystalDecisions.Enterprise.Framework, Version=10.2.3600.0, Culture=neutral, PublicKeyToken=692FBEA5521E1304"/>

            <add assembly="CrystalDecisions.Enterprise.Desktop.Report, Version=10.2.3600.0, Culture=neutral, PublicKeyToken=692FBEA5521E1304"/>

            <add assembly="CrystalDecisions.CrystalReports.Engine, Version=10.2.3600.0, Culture=neutral, PublicKeyToken=692FBEA5521E1304"/>

    看了一下,引用中这几个dll的路径来自两个地方:

    C:WINDOWSassemblyGACCrystalDecisions.Enterprise.InfoStore10.5.3700.0__692fbea5521e1304CrystalDecisions.Enterprise.InfoStore.dll

    和C:Program FilesCommon FilesBusiness Objects2.7ManagedCrystalDecisions.ReportSource.dll

    直接把引用地址改了,所有10.5.3700的均改为10.2.3600.其他不变,从新发布。

    运行正常啦。

    在网上大多讲的是单独安装的水晶报表的部署,和vs2008自带的不同,因为他们的程序集的版本不同。
    vs2008自带的水晶报表的版本是10.5的,在官方网站没有找到。
    后来查看MSDN才知道,其实Prerequisites(系统必备)就放在我们的机器中,
    位置就在C:Program FilesMicrosoft SDKsWindowsv6.0ABootstrapperPackages。
    水晶报表的运行时组件就在该目录下的CrystalReports10_5CRRedist2008_x86。
    将CRRedist2008_x86在要部署的机器上安装就可以了

    找到你开发的机器上VS安装目录中的SDKv2.0BootStrapperPackagesCrystalReportsCRRedist2005_x86.msi 和SDKv2.0BootStrapperPackagesCrystalReportszh-chsCRREdist2005_x86_chs.msi这两个文件,在目标机上安装一次就可以了 试试.可以的.

    原来使用的是10.2.3600.0 后来因为是Vs2008 默认的版本是10.5.3700.0

    在本机测试能通过,在放到服务器上后,出现Could not load file or assembly 'CrystalDecisions.ReportAppServer的错误,原来的版本是正常了。

    找了很多资料后,原来在服务器上安装一个程序即可。CRRedist2005_x86.msi

    后来下了一个 CRRedist2008_x64.zip 安装后即解决问题,郁闷啊,浪费了我1天的时间。

    记录下,如果以后碰到问题可以有解决方案

         <!--<add assembly="CrystalDecisions.CrystalReports.Engine, Version=10.2.3600.0, Culture=neutral, PublicKeyToken=692fbea5521e1304" />
        <add assembly="CrystalDecisions.ReportSource, Version=10.2.3600.0, Culture=neutral, PublicKeyToken=692fbea5521e1304" />
        <add assembly="CrystalDecisions.Shared, Version=10.2.3600.0, Culture=neutral, PublicKeyToken=692fbea5521e1304" />
        <add assembly="CrystalDecisions.Web, Version=10.2.3600.0, Culture=neutral, PublicKeyToken=692fbea5521e1304" />
        <add assembly="CrystalDecisions.ReportAppServer.ClientDoc, Version=10.2.3600.0, Culture=neutral, PublicKeyToken=692fbea5521e1304" />
        <add assembly="CrystalDecisions.Enterprise.Framework, Version=10.2.3600.0, Culture=neutral, PublicKeyToken=692fbea5521e1304" />
        <add assembly="CrystalDecisions.Enterprise.InfoStore, Version=10.2.3600.0, Culture=neutral, PublicKeyToken=692fbea5521e1304" />-->
         <add assembly="System.Configuration.Install, Version=2.0.0.0, Culture=neutral, PublicKeyToken=B03F5F7F11D50A3A"/>
         <add assembly="System.Management, Version=2.0.0.0, Culture=neutral, PublicKeyToken=B03F5F7F11D50A3A"/>
         <add assembly="System.Web.Extensions, Version=1.0.61025.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35"/>
         <add assembly="System.Web.Extensions.Design, Version=1.0.61025.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35"/>
         <add assembly="CrystalDecisions.Data.AdoDotNetInterop, Version=10.5.3700.0, Culture=neutral, PublicKeyToken=692FBEA5521E1304"/>
         <add assembly="CrystalDecisions.CrystalReports.Engine, Version=10.5.3700.0, Culture=neutral, PublicKeyToken=692FBEA5521E1304"/>
         <add assembly="CrystalDecisions.ReportSource, Version=10.5.3700.0, Culture=neutral, PublicKeyToken=692FBEA5521E1304"/>
         <add assembly="CrystalDecisions.Shared, Version=10.5.3700.0, Culture=neutral, PublicKeyToken=692FBEA5521E1304"/>
         <add assembly="CrystalDecisions.VSDesigner, Version=10.5.3700.0, Culture=neutral, PublicKeyToken=692FBEA5521E1304"/>
         <add assembly="CrystalDecisions.Web, Version=10.5.3700.0, Culture=neutral, PublicKeyToken=692FBEA5521E1304"/>
         <add assembly="CrystalDecisions.Windows.Forms, Version=10.5.3700.0, Culture=neutral, PublicKeyToken=692FBEA5521E1304"/>

    Could not load file or assembly 'CrystalDecisions.ReportAppServer

    CrystalDecisions.CrystalReports.Engine.ReportDocument..cctor

  • 相关阅读:
    【svn】一个设置,少写几个字
    转眼一年
    linux虚拟机与windows主机传输文件方法
    meta常用命令
    Metasploit 读书笔记-持久控制
    Metasploit 读书笔记-神器Meterpreter
    [工作]采购失误
    解决:kali linux 在vmware 虚拟机中使用bridge模式上网的问题
    metasploit 读书笔记-EXPLOITATION
    [共鸣]温州600住户合买高音炮 还击广场舞大妈
  • 原文地址:https://www.cnblogs.com/seasons1987/p/3346626.html
Copyright © 2020-2023  润新知