如何将 .NET 程序迁移到 Crystal Report 9.2
如何将 .NET 程序迁移到 Crystal Report 9.2
——————————————————————————————————————
新增4、“Web.config 中的,水晶报表相关的程序集”升级……
——————————————————————————————————————
引言:
期盼已久的,基于 Web 的,水晶报表打印,导出功能已经在 Crystal Report 9.2 里实现!
但安装 Crystal Report 9.2 后,原有的 .NET 程序仍然无法拥有这些超级实用功能,原因何在?!
在.NET 里,DLL Hell 问题被解决——包含元数据的,具有自描述性的程序集及其 XCopy 部署!
但是,又似乎带来了新的问题——.NET 程序升级、迁移问题……
升级不再只是简单安装,有工作不得不做了……
——————————————————————————————————————
目录
1、“报表文件”本身升级……
2、“被引用的,水晶报表相关的程序集”升级……
3、“Web 窗体文件中的,水晶报表命名空间引用”升级……
4、“Web.config 中的,水晶报表相关的程序集”升级……
——————————————————————————————————————
1、“报表文件”本身升级……
用 Crystal Report 9.2 打开报表,做任意操作,然后撤销,最后保存,就会升级报表。
注意:升级后,不能用旧版本的 Crystal Decisions 产品使用……
——————————————————————————————————————
2、“被引用的,水晶报表相关的程序集”升级……
(1)被引用的,水晶报表相关的程序:
CrystalDecisions.CrystalReports.Engine
CrystalDecisions.Web
CrystalDecisions.Enterprise.Report
CrystalDecisions.ReportSource
CrystalDecisions.Shared
等等……
(2)存放“程序集引用”的文件——项目文件;扩展名为 ??proj,例如:C# 项目扩展名为 csproj
原引用,如 crystaldecisions.web:
<Reference
Name = "crystaldecisions.web"
AssemblyName = "CrystalDecisions.Web"
HintPath = "..\..\..\winnt\assembly\gac\crystaldecisions.web\9.1.3300.0__692fbea5521e1304\crystaldecisions.web.dll"
/>
升级后的引用:
<Reference
Name = "crystaldecisions.web"
AssemblyName = "CrystalDecisions.Web"
HintPath = "..\..\..\winnt\assembly\gac\crystaldecisions.web\9.2.3300.0__692fbea5521e1304\crystaldecisions.web.dll"
/>
——————————————————————————————————————
3、“Web 窗体文件中,水晶报表命名空间引用”升级……
原引用:
<%@ Register TagPrefix="cr" Namespace="CrystalDecisions.Web" Assembly="CrystalDecisions.Web, Version=9.1.3300.0, Culture=neutral, PublicKeyToken=692fbea5521e1304" %>
升级后的引用:
<%@ Register TagPrefix="cr" Namespace="CrystalDecisions.Web" Assembly="CrystalDecisions.Web, Version=9.2.3300.0, Culture=neutral, PublicKeyToken=692fbea5521e1304" %>
——————————————————————————————————————
4、“Web.config 中的,水晶报表相关的程序集”升级……
原引用:
<compilation defaultLanguage="c#" debug="true"><assemblies><add assembly="CrystalDecisions.CrystalReports.Engine, Version=9.1.3300.0, Culture=neutral, PublicKeyToken=692fbea5521e1304"/>
……
升级后的引用:
<compilation defaultLanguage="vb" debug="true"><assemblies><add assembly="CrystalDecisions.CrystalReports.Engine, Version=9.2.3300.0, Culture=neutral, PublicKeyToken=692fbea5521e1304"/>
……
——————————————————————————————————————
总结:
可以看出,其实就是 9.1.3300.0 改成 9.2.3300.0!!!
这样,升级水晶报表文件后,直接替换所有文件(Web.config,项目文件,Aspx 文件)中该替换的地方,OK!!!
——————————————————————————————————————
新增4、“Web.config 中的,水晶报表相关的程序集”升级……
——————————————————————————————————————
引言:
期盼已久的,基于 Web 的,水晶报表打印,导出功能已经在 Crystal Report 9.2 里实现!
但安装 Crystal Report 9.2 后,原有的 .NET 程序仍然无法拥有这些超级实用功能,原因何在?!
在.NET 里,DLL Hell 问题被解决——包含元数据的,具有自描述性的程序集及其 XCopy 部署!
但是,又似乎带来了新的问题——.NET 程序升级、迁移问题……
升级不再只是简单安装,有工作不得不做了……
——————————————————————————————————————
目录
1、“报表文件”本身升级……
2、“被引用的,水晶报表相关的程序集”升级……
3、“Web 窗体文件中的,水晶报表命名空间引用”升级……
4、“Web.config 中的,水晶报表相关的程序集”升级……
——————————————————————————————————————
1、“报表文件”本身升级……
用 Crystal Report 9.2 打开报表,做任意操作,然后撤销,最后保存,就会升级报表。
注意:升级后,不能用旧版本的 Crystal Decisions 产品使用……
——————————————————————————————————————
2、“被引用的,水晶报表相关的程序集”升级……
(1)被引用的,水晶报表相关的程序:
CrystalDecisions.CrystalReports.Engine
CrystalDecisions.Web
CrystalDecisions.Enterprise.Report
CrystalDecisions.ReportSource
CrystalDecisions.Shared
等等……
(2)存放“程序集引用”的文件——项目文件;扩展名为 ??proj,例如:C# 项目扩展名为 csproj
原引用,如 crystaldecisions.web:
<Reference
Name = "crystaldecisions.web"
AssemblyName = "CrystalDecisions.Web"
HintPath = "..\..\..\winnt\assembly\gac\crystaldecisions.web\9.1.3300.0__692fbea5521e1304\crystaldecisions.web.dll"
/>
升级后的引用:
<Reference
Name = "crystaldecisions.web"
AssemblyName = "CrystalDecisions.Web"
HintPath = "..\..\..\winnt\assembly\gac\crystaldecisions.web\9.2.3300.0__692fbea5521e1304\crystaldecisions.web.dll"
/>
——————————————————————————————————————
3、“Web 窗体文件中,水晶报表命名空间引用”升级……
原引用:
<%@ Register TagPrefix="cr" Namespace="CrystalDecisions.Web" Assembly="CrystalDecisions.Web, Version=9.1.3300.0, Culture=neutral, PublicKeyToken=692fbea5521e1304" %>
升级后的引用:
<%@ Register TagPrefix="cr" Namespace="CrystalDecisions.Web" Assembly="CrystalDecisions.Web, Version=9.2.3300.0, Culture=neutral, PublicKeyToken=692fbea5521e1304" %>
——————————————————————————————————————
4、“Web.config 中的,水晶报表相关的程序集”升级……
原引用:
<compilation defaultLanguage="c#" debug="true"><assemblies><add assembly="CrystalDecisions.CrystalReports.Engine, Version=9.1.3300.0, Culture=neutral, PublicKeyToken=692fbea5521e1304"/>
……
升级后的引用:
<compilation defaultLanguage="vb" debug="true"><assemblies><add assembly="CrystalDecisions.CrystalReports.Engine, Version=9.2.3300.0, Culture=neutral, PublicKeyToken=692fbea5521e1304"/>
……
——————————————————————————————————————
总结:
可以看出,其实就是 9.1.3300.0 改成 9.2.3300.0!!!
这样,升级水晶报表文件后,直接替换所有文件(Web.config,项目文件,Aspx 文件)中该替换的地方,OK!!!
浙公网安备 33010602011771号