VS2010 winform开发使用水晶报表,程序本机运行正常 放到其它机子运行报错。跪求解决办法!!!
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了VS2010 winform开发使用水晶报表,程序本机运行正常 放到其它机子运行报错。跪求解决办法!!!相关的知识,希望对你有一定的参考价值。
Could not load file or assembly'CrystalDecisions.CrystalReports.Engine,Version=13.0.2000.0, Culture=neutral,PubicKeyToken=692fbea5521e1304' or one of its dependencies.系统找不到指定的文件。
一般是因为那个运行你程序的机子没有安装水晶报表,或者未授权。追问本机可以运行,其它机子只装了.net framework4 。要装水晶报表控件的前提是需要安装VS2010,如果给客户用每次都要安装VS2010和水晶报表控件太麻烦。现在就是要在只装了.net framework4的机子上运行 有水晶报表控件的程序。
追答只有.net framework 4是运行不了vs2010的水晶报表的。两种解决方式:
1) 要运行你程序的机子单独安装水晶报表, 网上有下载的
2) 你做一个安装程序,将水晶报表需要的模块打包进安装程序。
具体参考: http://www.cnblogs.com/dgjack/archive/2011/09/09/2172240.html
有没有什么解决办法?
追答我的环境是vs2008首先安装下面列表
1、CRRedist2005_x86.msi
2、CRREdist2005_x86_chs.msi
以上两个文件在这个目录里面
(C:\Program Files\Microsoft SDKs\Windows\v6.0A\Bootstrapper\Packages\CrystalReports10_5)
3、CrystalReports10_NET_EmbeddedInstall.msi(序列号:A6860-0900000-U70005X)
在这里下载
(http://resources.businessobjects.com/support/communitycs/FilesAndUpdates/cr10_net_server_install_chs.zip?recDnlReq=Record&dnlPath=cr10_net_server_install_chs.zip)
注册表搜索PrintJobLimit
注册表的PrintJobLimit:0,不然会有使用限制
然后下载这个放到自己服务器上建立一个站点(http://127.0.0.1/PrintControl.cab):http://support.businessobjects.com/CRforVS2005/PrintControl.cab
再页面里面添加下面代码
我的是winfrom 开发。不是asp.net
C:\\Program Files\\Microsoft Visual Studio 8\\SDK\\v2.0\\BootStrapper\\Packages\\CrystalReports
上面位置找到了你说的CRRedist2005_x86.msi和CRREdist2005_x86_chs.msi这两个文件
在目标机上安装后运行程序还是会报错
C#水晶报表,窗体不显示,闪退
一、问题说明
由于VS2008以后水晶报表不在集成,要用的话需要单独下载。
这里注意如果是用在C#窗体程序里的话一定要下载exe文件,安装msi文件的话VS工具栏里找不到水晶报表控件的。如果你的是64位系统,在必须安装64为运行时,具体步骤入下图
下载教程如下
http://www.jb51.net/softjc/88860.html
但是我发现安装之后VS2013里新建窗体已经有了水晶报表的rpt文件选项,但是用了报表的窗体在运行的时候就直接闪退。
调试之后发现是这个错误:
未能加载文件或程序集“file:///C:\Program Files\SAP BusinessObjects\Crystal Reports for .NET Framework 4.0\Common\SAP BusinessObjects Enterprise XI 4.0\win32_x86\dotnet1\crdb_adoplus.dll”或它的某一个依赖项。系统找不到指定的文件。
二、解决方法
在app.config文件中添加如下代码:(如果你的.NETFramework版本是别的,可以自己按需改,或者直接在startup标签里写useLegacyV2RuntimeActivationPolicy="true")
<startup useLegacyV2RuntimeActivationPolicy="true"> <supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.0"/> </startup>
我也不知道为啥,但是就是管用。
以上是关于VS2010 winform开发使用水晶报表,程序本机运行正常 放到其它机子运行报错。跪求解决办法!!!的主要内容,如果未能解决你的问题,请参考以下文章