Crystal Report 升級

先前在『如何部署網站到 Win Server 2008』中曾經提到 VS2005 製作的 Crystal Report (10.2.3600.0) 無法在 VS2008 中執行,當時治標的方法是再安裝一次 VS2005 的 Crystal Report。

不過最近又有 Crystal Report 的需求才發現,先前的方法僅能執行舊的程式,卻無法修改 (控制項版本錯誤)。於是只好治本一下,把 VS2005 的 Crystal Report 全部改成 VS2008 的 Crystal Report (10.5.3700.0) 版本了。

首先以原始檔檢視的方式開啟要修改的程式,發現其引入的 Crystal Report 組件的版本為 10.2.3600.0


直接改成 VS2008 使用的 Crystal Report 版本 10.5.3700.0


但光這樣修改是不夠的,執行結果如下所示,就是兩個版本衝突


在此先聲明一點,我原本的 Crystal Report 是在子網站下使用的,而 Crystal Report 的設定應該是整個網站通用,也就是子網站會繼承父網站的設定。所以我是先把子網站有關 Crystal Report 的參考全部刪除,然後再到父網站重新設定

此時你可以點選 網站 | 起始選項


可以很清楚地看到:每一個 Crystal Report 的組件都有兩個版本,把每一個不要的 10.2.3600.0 版本的組件刪一刪吧


修改完就只剩下 10.5.3700.0 的版本了


另外如果你的參考中沒有以上的版本,那也不用急著用手動的方式加入,只要隨便開一個網頁,然後將 CrystalReportViewer 控制項加進來就可以了


以上的設定在 Server 端已可正常動作,但在 Local 端實驗時卻發生 icon 消失的慘狀


Google 拜了好久都找不到答案,最後只好自己來了。首先把網頁的原始檔打開,找到消失的圖檔原來是位於 /aspnet_client/system_web/2_0_50727/CrystalReportWebFormViewer4/images/tree/beginplus.gif


而原本正常顯示的網頁的圖檔則是位於 /aspnet_client/System_Web/2_0_50727/CrystalReportWebFormViewer3/images/tree/begindots.gif


原來 VS2005 的 Crystal Report 是採用 View3 的版本,而 VS2008 則是採用 Viewer4 版本。而我到 Local 端電腦的相對應目錄中查看,不知為何底下是空空的,於是我把 View3 底下的檔案複製一份到 View4 底下,結果就可以正常顯示了

最後再補上一張 Crystal Report 組件位於電腦中的位置 C:\Windows\assembly

還真多版本啊,其中 13.0.2000.0 是 VS2010 用的,目前沒有用到,暫時先被我移除了,而 10.2.3600.0 不知何故卻移不掉,真討厭,硬碟空間就是這樣被吃掉的


留言

這個網誌中的熱門文章

Linux 批次檔的寫法

【分享】如何顯示 Debug Message

[分享] Visual Studio 遠端偵錯