2012年7月29日 星期日

vs2010 crystal report,初使用


現在接了一個用vs2005開發的既存在專案,報表的部份需要使用到crystal report.
因為想改用vs2010來開發,而且以前從未使用者這個水晶報表,所以做了以下的測試

首先是環境的建置:
因為vs2010未內建crystal report,所以要先到sap 網站去下載 最後版本,
點選SAP Crystal Reports, version for Visual Studio 2010 - Standard 下載(2012/07/29下載的版本是CRforVS_13_0_4.exe)

如要個別下載及查看release not可到 Crystal Reports for Visual Studio 2010 Updates & Runtime Downloads

安裝完畢後,打開VS2010把原先VS2005專案開啟, 過程中會詢問是否要以較版本crystal reprot進行昇級


選擇轉換方案及備份位置,按下確定
接著詢問是否升級到.net framework  4.0, 這時要按Yes, 因為要昇級為targetFramework=4.0



試著build website,發現有些參考上的錯誤
在任一個已存在的aspx網頁上,由toolbox中將Crystal Report Viewr拖進來後再刪除, web.config就會自動加入相關的assembly定義了 .如下
 <assemblies>
        <add assembly="CrystalDecisions.Shared, Version=13.0.2000.0, Culture=neutral, PublicKeyToken=692fbea5521e1304"/>
        <add assembly="CrystalDecisions.Web, Version=13.0.2000.0, Culture=neutral, PublicKeyToken=692FBEA5521E1304"/>
        <add assembly="CrystalDecisions.ReportSource, Version=13.0.2000.0, Culture=neutral, PublicKeyToken=692FBEA5521E1304"/>
        <add assembly="CrystalDecisions.CrystalReports.Engine, Version=13.0.2000.0, Culture=neutral, PublicKeyToken=692fbea5521e1304"/>
        <add assembly="CrystalDecisions.ReportAppServer.Controllers, Version=13.0.2000.0, Culture=neutral, PublicKeyToken=692FBEA5521E1304"/>
        <add assembly="CrystalDecisions.ReportAppServer.DataDefModel, Version=13.0.2000.0, Culture=neutral, PublicKeyToken=692FBEA5521E1304"/>
        <add assembly="CrystalDecisions.ReportAppServer.ClientDoc, Version=13.0.2000.0, Culture=neutral, PublicKeyToken=692fbea5521e1304"/>
      </assemblies>

如果不想每個頁面註冊crystal report viewer,且統一tagname,則也可在web.config加入以下
 <pages>
      <controls>
        <add tagPrefix="CR" assembly="CrystalDecisions.Web, Version=13.0.2000.0, Culture=neutral, PublicKeyToken=692fbea5521e1304"  namespace="CrystalDecisions.Web" />       
      </controls>
    </pages>

到此,試著把原先的vs2005 + crystal report 10.*的原網站就順利昇級起來了.


沒有留言:

張貼留言

IIS 網站無法下載中文檔名檔案因為取消高位元字元

 網址+中文檔案名稱方式下載檔案顯示 404 - 找不到檔案或目錄。 但英數字檔案名稱則可下載。 因為設定GCB IIS,其中1項 將高位元字元預設取消勾選了。 27 TWGCB-04-014-0028 要求篩選與其他限制模組 允許高位元字元 這項原則設定決定查詢...