由于 VS2005 和 VS2008 版本之间存在一些差异,导致在 VS2008 中运行之前在 VS2005 中编写的水晶报表程序会出现一些问题,本文将讲解如何使用一些实现方法修复这些问题。
1. 更新水晶报表的版本
VS2008 支持的水晶报表的版本是 10.5,而 VS2005 支持的最高版本仅为 10.0。因此,首先需要将水晶报表的版本升级为 VS2008 支持的版本。具体步骤如下:
- 在 VS2008 中打开项目后,右键单击项目文件夹,选择“添加”->“现有项”。
- 在打开的对话框中,选择要升级的 .rpt 文件,右键单击该文件,选择“属性”。
- 在属性窗口中,将 “版本” 选项升级为 10.5 (或 VS2008 支持的最新版本)。
2. 替换水晶报表的引用文件
在 VS2008 中,水晶报表使用的引用文件是由 VS2008 自带的。如果在 VS2005 中使用了一些不同的引用文件,则需要替换掉这些引用文件,以确保水晶报表能够在 VS2008 中正确运行。具体步骤如下:
- 在 VS2008 中打开项目后,右键单击项目文件夹,选择“添加”->“引用”。
- 在打开的对话框中,找到 “CrystalDecisions.CrystalReports.Engine” 和 “CrystalDecisions.Shared” 两个引用,右键单击它们,选择“属性”。
- 在属性窗口中,将这些引用的 “路径” 选项改为 VS2008 自带的那些引用文件所在的路径。
示例一
假设在 VS2005 程序中,有一个名为 “Report1.rpt” 的水晶报表,我们需要将其升级为 VS2008 中支持的最新版本,并使用 VS2008 自带的引用文件。具体操作步骤如下:
-
在 VS2008 中,打开原有的 V 2005 项目。
-
右键单击项目文件夹,选择“添加”->“现有项”,找到要升级的报表文件 “Report1.rpt”,并添加到项目中。
-
右键单击报表文件,“属性”--> “版本”,将版本设置为 10.5。
-
在项目中,右键单击“引用”,选择“添加引用”。
-
在“添加引用”窗口中,选择“COM”选项卡,找到“CrystalDecisions.CrystalReports.Engine” 和 “CrystalDecisions.Shared”两个引用,勾选并确认。
-
在“引用”选项中,右键单击那些引用文件,选择“属性”。
-
在属性窗口中,将引用文件的路径改为 VS2008 自带的路径,修改完成后,单击“确定”。
以上步骤执行完成后,“Report1.rpt” 文件就可以在 VS2008 中正常使用了。
示例二
如果升级不成功,还可以尝试一种更加麻烦但可以保证准确度的操作方法。
-
在 VS2008 中,创建一个新的项目。
-
从原有的 VS2005 项目中拷贝所有需要的代码(包括显示水晶报表窗口的代码,报表的数据绑定代码等),并将其粘贴到新项目中相应的位置。
-
将原有项目中所有的水晶报表文件(包括子报表文件)拷贝到新项目中的一个文件夹中,并在新项目的根路径中创建一个名为“Bin”文件夹。
-
从原有项目的“Bin”文件夹中拷贝所有的 CrystalDecisions.*.dll 文件,将其粘贴到新项目的“Bin”文件夹中。
-
在新项目中引用这些 dll 文件,并重新构建项目。
-
将新项目中生成的所有文件拷贝到原有的服务器上进行部署。
这种方法可以保证水晶报表在不同的开发环境和部署环境中都能够正常运行,但相对来说操作比较繁琐。
本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:编写的vs2005水晶报表程序在vs2008下正常使用的一些实现方法 - Python技术站