安裝 Crystal Report 9.2 後產生的問題及解決方案

來源:互聯網
上載者:User
 

目錄:

一、引言

二、概念與原理

三、問題

1、編譯器錯誤資訊: </b>BC30560: “CrystalReportViewer”在命名空間“CrystalDecisions.Web”中不明確。

2、複製 Crystal Report Viewer 時,顯示“控制項建立錯誤”。

3、建立 Crystal Report Viewer 時,顯示“控制項建立錯誤”。

4、分析器錯誤資訊: 基類包括欄位“CrystalReportViewer1”,但其類型 (CrystalDecisions.Web.CrystalReportViewer) 與控制項 (CrystalDecisions.Web.CrystalReportViewer) 的類型不相容。

5、分析器錯誤資訊: 找到的名為“CrystalDecisions.Shared”的資訊清單定義與程式集引用不匹配。

6、問題:無效的報表源

7、如果你用的是 VS.NET 2003……

8、問題:在 web.config 中建立一個工程時沒有<assemblies><add assembly="CrystalDecisions.CrystalReports.Engine, Version=9.2.3300.0, Culture=neutral, PublicKeyToken=692fbea5521e1304"/>

我手工添加後出現配置錯誤!!!

-------------------------------------------------------------------------

一、引言

在.NET 裡,DLL Hell 問題被解決——包含中繼資料的,具有自描述性的程式集及其 XCopy 部署!

但是,又似乎帶來了新的問題——.NET 程式升級、遷移問題……

升級不再只是簡單安裝,有工作不得不做了……

-------------------------------------------------------------------------

二、概念與原理

1、各種 Crystal Reports 程式的“程式集版本”……

Crystal Reports for Visual Studio .NET 2002

Crystal Reports 管理組件的“程式集版本”為 9.1.3300。

Crystal Reports for Visual Studio .NET 2003 的程式

Crystal Reports 管理組件的“程式集版本”為 9.1.5000.0。

Crystal Reports 9 的程式(僅限於 Visual Studio 2002)

Crystal Reports 管理組件的“檔案版本”為 9.2.9466.x。

Crystal Reports 9.2 的程式(與 Visual Studio 2002 和 2003)

Crystal Reports 管理組件的“檔案版本”為 9.2.9500.x。

------------------------------------------------

2、Crystal Report Viewer

VS.NET 裡的 Crystal Report Viewer 版本是 9.1.3300.0,

Crystal Report 9.2 裡的 Crystal Report Viewer 版本是 9.2.3300.0

為表單添加 Crystal Report Viewer 後,會在 aspx 檔案裡增加以下代碼,缺一不可。

代碼(1)<%@ Register TagPrefix="cr" Namespace="CrystalDecisions.Web" Assembly="CrystalDecisions.Web, Version=9.1.3300.0, Culture=neutral, PublicKeyToken=692fbea5521e1304" %>

是為了引入命名空間 CrystalDecisions.Web。

代碼(2)<CR:CrystalReportViewer id="CrystalReportViewer1" runat="server" EnableDrillDown="False" DisplayGroupTree="False" Height="50px" Width="350px"></CR:CrystalReportViewer>

是表示 CrystalReportViewer 控制項的標籤。

-------------------------------------------------------------------------

三、問題

1、編譯器錯誤資訊: </b>BC30560: “CrystalReportViewer”在命名空間“CrystalDecisions.Web”中不明確。

-------------------------

問題分析:

在“設計檢視”刪除 Crystal Report Viewer 後,代碼(1)仍然存在,如果此時再次添加新版本的 Crystal Report Viewer,會導致出現兩個不同的代碼(1):

<%@ Register TagPrefix="cr1" Namespace="CrystalDecisions.Web" Assembly="CrystalDecisions.Web, Version=9.2.3300.0, Culture=neutral, PublicKeyToken=692fbea5521e1304" %>

<%@ Page language="vb" Codebehind="Analysis.aspx.vb" AutoEventWireup="false" Inherits="Research_VB.Analysis" %>

<%@ Register TagPrefix="cr" Namespace="CrystalDecisions.Web" Assembly="CrystalDecisions.Web, Version=9.1.3300.0, Culture=neutral, PublicKeyToken=692fbea5521e1304" %>

-------------------------

解決方案:

把 Crystal Report Viewer 和所有代碼(1)刪除,重新添加 Crystal Report Viewer。

------------------------------------------------

2、複製 Crystal Report Viewer 時,顯示“控制項建立錯誤”。

-------------------------

問題分析:

複製 Crystal Report Viewer 時,代碼(1)不會被複製。

-------------------------

解決方案:

手工複製代碼(1)。

------------------------------------------------

3、建立 Crystal Report Viewer 時,顯示“控制項建立錯誤”。

-------------------------

問題分析:

如果不是殘存代碼(1),就是匪夷所思……

-------------------------

解決方案:

(1)先在“設計檢視”刪除 Crystal Report Viewer 控制項;

(2)再到“HTML 視圖”刪除代碼(1)

(3)建立 Crystal Report Viewer ;

如果顯示“控制項建立錯誤”,則切換到“HTML”視圖,再切換會“設計”視圖,自動回復!!!

------------------------------------------------

4、分析器錯誤資訊: 基類包括欄位“CrystalReportViewer1”,但其類型 (CrystalDecisions.Web.CrystalReportViewer) 與控制項 (CrystalDecisions.Web.CrystalReportViewer) 的類型不相容。

-------------------------

問題分析:

代碼(1)不是當前 Crystal Report Viewer 的版本

-------------------------

解決方案:

把 Crystal Report Viewer 和所有代碼(1)刪除,重新添加 Crystal Report Viewer。

------------------------------------------------

5、分析器錯誤資訊: 找到的名為“CrystalDecisions.Shared”的資訊清單定義與程式集引用不匹配。

源檔案: E:\web\VenditionSystem\web.config    行: 15

程式集載入跟蹤: 下列資訊有助於確定程式集“CrystalDecisions.Shared”無法載入的原因。

-------------------------

問題分析:

程式集 CrystalDecisions.Shared 在 web.config 裡的資訊清單定義是 CR FOR VS.NET 版本的,而項目中引用的是 CR 9.X 版本的……

-------------------------

解決方案一:

建立一個解決方案,在表單裡添加 Crystal Report Viewer,會自動在 web.config 中產生新版本的資訊清單定義,然後把這個 web.config 複製過來……

解決方案二:

修改 web.config 裡的舊版本的資訊清單定義:

<add assembly="CrystalDecisions.Shared, Version=9.1.3300.0, Culture=neutral, PublicKeyToken=692fbea5521e1304"/>

把 Version=9.1.3300.0 改成 Version=9.2.3300.0。

-------------------------

總結:其它 CrystalDecisions 程式集引用的衝突問題如:CrystalDecisions.CrystalReports.Engine,解決方案同上。

------------------------------------------------

6、問題:無效的報表源

-------------------------

問題分析:

ReportDocument、CrystalReportViewer 組件和 CrystalDecisions 程式集的版本不一致:

-------------------------

解決方案:

(1)刪除所有的 CrystalDecisions 程式集引用;

(2)刪除所有的ReportDocument、CrystalReportViewer 組件;

(3)按照2、修改 Visual Studio.NET 的工具箱設定;

(4)重新添加組件,自動產生新引用。

------------------------------------------------

7、如果你用的是 VS.NET 2003……

問題:就是不行。 升級後沒有拖放控制項沒有代碼(1)!!!

問題分析:

如果你用的是 VS.NET 2003,則 Crystal Reports 9 (版本 9.2.0.x) 不能正確運行,需要升級到 CR 9 (版本 9.2.2.x). 

具體問題如下:

- 添加新報表到項目,卻沒有產生相應的報表類檔案

- 添加新報表或者報表檢視器(viewer)到項目,卻沒有自動添加必需的引用

- 不能建立強型別報表(strongly-typed report)的執行個體

解決方案:

升級到 CR 9 (版本 9.2.2.x). 

------------------------------------------------

8、問題:在 web.config 中建立一個工程時沒有<assemblies><add assembly="CrystalDecisions.CrystalReports.Engine, Version=9.2.3300.0, Culture=neutral, PublicKeyToken=692fbea5521e1304"/>

我手工添加後出現配置錯誤!!!

解決方案:

建立一個解決方案,添加 Crystal Report 檔案和 Crystal Report Viewer,然後用它的 Web.config 覆蓋原來的程式……

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.