未能加载文件或程序集“file:///C:\Program Files (x86)\SAP BusinessObjects\Crystal Reports for .NET Framework 4.0\Common\SAP BusinessObjects Enterprise XI 4.0\win64_x64\dotnet1\crdb_adoplus.dll”或它的某一个依赖项。系统找不到指定的文件。
装好Crystal Reports后,在文件夹里面找,确实是没有这个文件夹的,
X86文件夹下面到是有一个dotnet文件夹,我在添加引用的时候,发现引用的路径都是只有32位的,没有64位的。(以前项目是在32位系统VS2008上开发的,现在要换到64位系统,程序是可以正常打开,就是水晶报表不行,网上说在APP.Config里面加
<startup useLegacyV2RuntimeActivationPolicy="true">
<supportedRuntime version="v4.0" sku = ".NETFramework,Version=v4.0"/>
也是在找的到物理路径的情况下。)
我升级vs都是安装完VS后,再安装一遍CR。
再有就是更改引用版本(包括已经在代码中写上的)
最简单的方案,把水晶报表的所有的DLL复制到bin文件夹。
你在解决方案上面打开项目的属性,然后在找到系统在x86上做成,改成X64下面编译,然后编译试试
@iEvent: @iEvent:
出同样的错误。
@njnjnjaz: 在DEBUE中有X64的产生吗?
@三国郭海:
我的输出路径就是,bin/Debug。生成后有这个项目的dll
@njnjnjaz: 你重新配置一下水晶报表吧,你水晶报表可能是32的,在64位下面不能生成.dll ,网上有64位的水晶报表
http://blog.csdn.net/ruiqi317/article/details/6917681
直接添加引用,把dll加进程序
我都是在项目里面直接右键,添加引用的。路径也是X86的路径,完全没有X64的路径,可是运行出来后,打开报表才出现找不到X64.......什么的
@njnjnjaz: 难道是控件问题?这个控件有32位限制?
@iEvent: 不是很清楚。一个是水晶报表被sap收购,第二是以前在老的版本上进行开发的。
或许是字符编码问题
编译后生成的路径不一样了,一个是x86一个是x64
问题已经找到。我重新装了VS2008,不经过任何处理,程序可以正常运行,报表可以正常打开。但是VS2010不行,经过排除,应该是新版水晶报表的问题。干活要紧。先没时间折腾。
VS2010的水晶报表和VS2008水晶报表差异应该比较大。但是原程序在32位vs2008移到64位上,不需要做任何修改。以上问题应该是新版水晶报表的问题。继续有待解决,先不折腾了。