我們若在做網頁時,需要用到報表的方式呈現,可能會以reporting service做呈現,可以使用reportview搭配 rdlc(local report)的方式來做
但一般在開發的過程沒有什麼大問題,比較大的問題是在部署的時候,因為server可能缺少 report 的dll元件
要使用reportviewer來呈現報表,需要有三個dll
Microsoft.ReportViewer.WebForms.DLL
Microsoft.ReportViewer.Common.dll
Microsoft.ReportViewer.ProcessingObjectModel.DLL
這三個dll隨著不同的visual studio版本,也有不同的版次
visual studio2010的report 版次是10
visual studio2012的report 版次是11
若是將vs2010的專案,改由vs2012來開啟,且頁中若有拉reportviewer的話,會出現下列畫面
<%@ Register assembly="Microsoft.ReportViewer.WebForms, Version=11.0.0.0, Culture=neutral, PublicKeyToken=89845dcd8080cc91" namespace="Microsoft.Reporting.WebForms" tagprefix="rsweb" %>
這樣測試看看,若本機沒問題
剩下的就是之前提到的那三個dll
這三個dll可以使用以下的指令的方式取得
在windows的命令視窗輸入 Subst x: %windir%\assembly
執行完後會在我的電腦中出現一個x的磁碟,打開後可看到了所有assembly下的所有DLL,按需要的版本尋找即可, 建立把需要的dll版本copy出來
copy完後,在windows的命令視窗輸 Subst b: /d,這樣可以把x磁碟拿掉了
之後部署到web上時,記得要把這三個dll也同時放到bin目錄中,就可以執行reportviewr了