升级成VS2010后就出现“未能加载文件或程序集”错误

我原来用的是VS2005,发布到IIS后网站一切正常运行,但自从升级到VS2010后就不能正确配置了。


配置错误 
说明: 在处理向该请求提供服务所需的配置文件时出错。请检查下面的特定错误详细信息并适当地修改配置文件。 

分析器错误消息: 未能加载文件或程序集“CrystalDecisions.Web, Version=10.5.3700.0, Culture=neutral, PublicKeyToken=692fbea5521e1304”或它的某一个依赖项。系统找不到指定的文件。

源错误: 


行 43: <add assembly="System.Data.Linq, Version=3.5.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" />
行 44:
行 45: <add assembly="CrystalDecisions.Web, Version=10.5.3700.0, Culture=neutral, PublicKeyToken=692FBEA5521E1304" />行 46: <add assembly="CrystalDecisions.Shared, Version=10.5.3700.0, Culture=neutral, PublicKeyToken=692FBEA5521E1304" />
行 47: <add assembly="CrystalDecisions.ReportSource, Version=10.5.3700.0, Culture=neutral, PublicKeyToken=692FBEA5521E1304" />
 

源文件: F:\FamilyFinanceSystem\web.config 行: 45 

程序集加载跟踪: 下列信息有助于确定程序集“CrystalDecisions.Web, Version=10.5.3700.0, Culture=neutral, PublicKeyToken=692fbea5521e1304”无法加载的原因。


警告: 程序集绑定日志记录被关闭。
要启用程序集绑定失败日志记录,请将注册表值 [HKLM\Software\Microsoft\Fusion!EnableLog] (DWORD)设置为 1。
注意: 会有一些与程序集绑定失败日志记录关联的性能损失。
要关闭此功能,请移除注册表值 [HKLM\Software\Microsoft\Fusion!EnableLog]。

 
=========
网上也找了很久,最普遍的说法是说这个错误是因为不同版本的crystal report造成的,常见于VS2005到VS2008中

解决方法:  
  【1】在电脑中查找一个名称为 crystalreports2007.msi的安装文件和语言包,如果不行转到【2】

  【2】复制C:\Program Files\Business Objects\Common\2.8\bin下文件 到C:\Inetpub\wwwroot\bin 或者用regsvr32.exe将所有的dll文件注册

  【3】重启IIS服务

  【2】未能加载文件或程序集 CrystalDecisions.Web Version=10.2.3600


现在问题是我电脑里既没有crystalreports2007.msi文件也不存在...\Common\2.8\bin这样的目录,现在我该怎么解决这个问题?高分请教!

顺便问一下如果是在.NET Framework 4.0平台下设计的WinForm桌面程序,是不是也一定要在安装有4.0版本的环境下才能运行?
  • kalagrooggern - 2个月前

    确实不错,我正弄着呢...

  • zgj8128 - 2个月前

    原来如此,可为何几个月后才回复呢!
    现在工作已经不做C#了~~~
    转向日趋灭亡的informix

  • HoonaOvenseReda - 2个月前

    这个是VS2010不再集成rc了下一个就可以了
    http://www.businessobjects.com/jump/xi/crvs2010/row2_default.asp

  • soubselarsela - 2个月前

    引用楼主 meditatorx 的回复:
    顺便问一下如果是在.NET Framework 4.0平台下设计的WinForm桌面程序,是不是也一定要在安装有4.0版本的环境下才能运行?

    这是必须的呀


    可以用VS2010新建一个web项目,拖个水晶报表进去,把web.config相关节点弄到你出错的项目中

    顺便说一下,水晶报表是收费的,为什么不用VS自带的Report Service呢功能和水晶报表差不多

  • pyj_3000 - 2个月前

    生成web安装程序,添加合并项目包含如下文件 
    C:\Program Files\Common Files\Merge Modules\Microsoft_VC80_CRT_x86.msm 

    在vs2005安装目录下找到了可再发布的水晶报表安装程序和汉化包: \Microsoft Visual Studio 8\SDK\v2.0\BootStrapper\Packages\CrystalReports。安装
    http://topic.csdn.net/u/20091208/10/fc971e3e-bf02-4dbb-afd9-024d3c6ab9aa.html

  • UnfollakAglog - 2个月前

    最直接就是用2008 呵呵

  • Nikol_DUET - 2个月前

    新建一个项目,写一个测试网页,能正常运行后,把配置文件复制到原来网站中替换试看。

  • stan911 - 2个月前

    这是网上搜索出来的啦。我看过,但也解决不了
    可能是我不知道该怎么找

  • LeftninebeK - 2个月前

    这个错误是因为不同版本的crystal report造成的,我刚从vs.net2005升到vs.net 2008就遇到这个问题,后来找到vs.net2008安装目录下有个文件夹WSU\Crystal reports,里面有crystalreports2007.msi的安装文件和语言包,安装之后,安装一下,你试试看行不行。如果还是不行,请尝试复制C:\Program Files\Business Objects\Common\2.8\bin下文件 到C:\Inetpub\wwwroot\bin下,或者用regsvr32.exe将所有的dll文件注册。最后不要忘了将IIS重启,我的是这样操作,问题就解决了。









    vs2005安装目录下找到了可再发布的水晶报表安装程序和汉化包: 

    \Microsoft Visual Studio 8\SDK\v2.0\BootStrapper\Packages\CrystalReports

    安装以下OK

    Config添加

      <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"/> </assemblies> </compilation> 

  • GOpmemanupcep - 2个月前

    在哪里查看CrystalDecisions版本和配置文件是什么版本?

  • Universalresopot - 2个月前

    CrystalDecisions.Web, Version=10.5.3700.0,
    就是这个版本?怎么替换

  • boatppills - 2个月前

    查下2010中CrystalDecisions 的版本是什么,可以新建个项目,然后看配置文件是什么版本,把2010的版本复制过来替换掉就可以了。我以前2005转08就这么解决的。