本博客文章为转载,请勿用于商业目的!
本博客文章为转载,请勿用于商业目的!

今天在做项目时,用到了vs的水晶报表, 在本地发布都可以看,但放到服务器上,刚开始是说找不到引用,服务器不支持,于是在
\Microsoft Visual Studio 8\SDK\v2.0\BootStrapper\Packages\CrystalReports
下面的CRRedist2005_x86.msi这个文件装在了服务器上,没问题了,出来了

要将含有水晶报表的web应用程序部署到服务器上.但是报错.错误如下:
Parser Error Message: Could not load file or assembly 'CrystalDecisions.Web, Version=10.2.3600.0, Culture=neutral, PublicKeyToken=692fbea5521e1304' or one of its dependencies. 系统找不到指定的文件。
Source Error: 
Line 40:  <httpHandlers><add verb="GET" path="CrystalImageHandler.aspx" type="CrystalDecisions.Web.CrystalImageHandler, CrystalDecisions.Web, Version=10.2.3600.0, Culture=neutral, PublicKeyToken=692fbea5521e1304"/></httpHandlers></system.web>

1.在服务器上安装与开发环境版本相同的水晶报表文件CRRedist2005_x86.msi
安装程序在开发环境的路径
C:\Program Files\Microsoft Visual Studio 8\SDK\v2.0\BootStrapper\Packages\CrystalReports(VS安装目录)
只安装CRRedist2005_x86.msi,无法正常打印

2.在服务器将水晶报表注册到.NET中
1)注册:首先进入MSDOS方式(可通过“开始”-“运行...”,键入cmd,回车)。   
   2)将   C:\WINDOWS\Microsoft.NET\Framework\v1.0.3705   作为当前目录,
  其中   C:\WINDOWS   根据操作系统的安装位置决定,v1.0.3705   根据安装的   .NET   FRAMEWORK   的版本决定。   
   3)键入   aspnet_regiis   -i。   

我直接注册的时候文件没有安装上去.我只好将文件直接拷到服务器的目录下,再注册,就可以了.目录如下:
目录1:C:\WINDOWS\Microsoft.NET\Framework\v2.0.50727\ASP.NETClientFiles\CrystalReportWebFormViewer3
目录2:C:\Inetpub\wwwroot\aspnet_client\system_web\2_0_50727\CrystalReportWebFormViewer3

----------------------------------------------------------------------------------------------------
以上只是我遇到的情况,现已解决.

这是我在网上找的,但是我只装了就好了,也没有注册

,但又出现个问题就是图片不显示,数据都可以出来,找了半天原因,有的说什么路径啊,要建虚拟目录啊,但我这个是在2005下的,我在本地都没有建,想了半天,记起来,原来,系统我是早些天传上去的,因为web.config在服务器上有改动,于是我在发布的时候,没有上传,但后来用了水晶报表,里面有些东西添加了,没有改服务器上的这个文件,于是把这个文件改了下,就好了
加上了


<httpHandlers><add verb="GET" path="CrystalImageHandler.aspx" type="CrystalDecisions.Web.CrystalImageHandler, CrystalDecisions.Web, Version=10.2.3600.0, Culture=neutral, PublicKeyToken=692fbea5521e1304"/>
</httpHandlers>
 
 

前几天用VS2005做了个简单的医务系统的演示程序,B/S模式的,里面用到了水晶报表,说实话,这还是我第一次用水晶报表,看了看帮助就开始做,还算是顺利吧,以为是演示用,要求不太高.做完了就发布,然后就把程序给人家了,结果到了人家那水晶报表那块不能看!他说水晶报表发布的时候需要考几个库,VS发布的时候不能自己把dll文件打包放到里面去,我就把那两个文件(CRDesigner.dll,crvspackage.dll,放在VS安装目录的Crystal Reports文件夹里)给人家考了过去,结果还是不行,后来上网查说需要Crystal Reports 合并模块,从网上down了一个,做一个了安装程序把它装上了也行不通,没办法回来了。
      今天参看以下帮助文件,说合并模块可以到http://www.businessobjects.com/products/dev_zone/net/2005.asp去下载,地址是假的,转到msdn上了。我想合并模块可能不行了,我就开始找Crystal Reports for .NET Framework 2.0 Windows 安装程序,结果发现VS2005的安装目录里已经有这些东西了,Microsoft Visual Studio 8\SDK\v2.0\BootStrapper\Packages这个文件夹里有好多东西,不光是水晶报表,还有框架,中文包,MDAC2.8以前不知道部署的时候还得从网上down这些东西,现在不用了!
从CrystalReports里把水晶报表装上就可以了!CRRedist2005_x86.msi/CRREdist2005_x86_chs.msi 这两个文件在MSDN里也有描述,下面是摘自MSDN
"如果添加的合并模块多于方案中指定的数目,可能会引起部署问题。将合并模块文件保存在计算机上的 C:\Program Files\Common Files\Merge Modules "
2005需要的合并模块式CrystalReportsRedist2005_X86.msm这个文件夹里没有!
还好问题解决了!
-------------------------------

在安装有vs2008的电脑中,找到以下文件夹:
C:\Program Files\Microsoft SDKs\Windows\v6.0A\Bootstrapper\Packages\CrystalReports10_5。

将该文件夹下的CRRedist2008_x86.msi,安装到在要部署的机器上即可。

 

在开发所用的计算机上找到文件CRRedist2005_x86.msi 和 CRREdist2005_x86_chs.msi
默认路径:C:\Program Files\Microsoft Visual Studio 8\SDK\v2.0\BootStrapper\Packages\CrystalReports
找到后在所需部署的Web服务器上安装。

在此Web服务器上找到assembly文件夹
默认路径:C:\WINDOWS\assembly
找到应用程序所调用的文件的版本号。
修改类似以下的配置节:
<%@ Register Assembly="CrystalDecisions.Web, Version=10.2.3600.0, Culture=neutral, ublicKeyToken=692fbea5521e1304"
    Namespace="CrystalDecisions.Web" TagPrefix="CR" %>

posted on 2008-10-19 20:43  刘季  阅读(1899)  评论(0编辑  收藏  举报