星期三, 3月 16, 2016

[RV] 部屬 ReportViewer 控制項

把寫好的 WinForm 丟到 Client 端執行時,要開啟該 Form 時出現下面錯誤訊息

[RV] 部屬 ReportViewer 控制項-1
System.IO.FileNotFoundException:無法載入檔案或組件 'Microsoft.ReportViewer.WinForms, Version = 11.0.0.0' , Culture=neutral, PublicKeyToken = 89845dcd8080cc91' 或其相依性的其中之一。系統找不到指定的檔案
查到 部署報表和 ReportViewer 控制項 這篇文章提到,需要這 5 個 dll 檔案
  • Microsoft.ReportViewer.Common.dll
  • Microsoft.ReportViewer.ProcessingObjectModel.dll
  • Microsoft.ReportViewer.WebForms.dll
  • Microsoft.ReportViewer.WinForms.dll
  • Microsoft.ReportViewer.DataVisualization.dll
在專案中加入參考後,可以正常進入 Form,但沒想到 ReportViewer Render 時,又跑出下面錯誤訊息

[RV] 部屬 ReportViewer 控制項-2
System.IO.FileNotFoundException:無法載入檔案或組件 'Microsoft.SqlServer.Types, Version = 11.0.0.0' , Culture=neutral, PublicKeyToken = 89845dcd8080cc91' 或其相依性的其中之一。系統找不到指定的檔案
依樣畫葫蘆把 Microsoft.SqlServer.Types 也加入專案參考,ReportViewer 終於可以正常顯示,在 8 x 3 的標籤紙上列印出 3 張 QRCode,Orz

[RV] 部屬 ReportViewer 控制項-5


在 VS 中加入參考,是從 C:\Windows\assembly\GAC_MSIL 該路徑,找到上述的 dll 檔案

[RV] 部屬 ReportViewer 控制項-3

dll 檔案加入參考後,要把屬性中 [複製到本機] 設為 true,這樣 build 執行檔時,dll 才會放在 bin 資料夾內

[RV] 部屬 ReportViewer 控制項-4

沒有留言:

張貼留言