摘要:[C#][Winform]ReportViewer包裝在安裝檔中,而不用在client端安裝
以下是小弟個人心得筆記,不好笑或者有問題請見諒或<--左轉出去(忘了這不是ptt,大誤XD)
情境:
1.Client端因為網管管很嚴,不准安裝ReportViewer。
2.需要大量安裝Client,但又不想每台花額外時間安裝ReportViewer增加工作量。
前提:
每當到客戶端安裝一台機器就必須裝一大堆東西對於工程師也是一件很頭痛的事,聰明的各位看倌一定會想到將元件包成dll給系統引用就可以了,沒錯,這確實是一個正確的做法。範例如下(以ReportViewer為例):
//------------[關聯文章]------------------------------------------------------------------------
(1) http://www.cnblogs.com/junjie94wan/p/3319438.html
(2) http://www.dotblogs.com.tw/yangxinde/archive/2012/11/07/80655.aspx
(3) http://bbs.csdn.net/topics/350201383
//---------------------------------------------------------------------------------------------------
需要以下三種dll
Microsoft.ReportViewer.WebForms.DLL
Microsoft.ReportViewer.Common.dll
Microsoft.ReportViewer.ProcessingObjectModel.DLL
此時,我們高高興興的打開程式選擇
(參考/Microsoft.ReportViewer.WebForms.DLL)並點選F4查看屬性
將以上路徑Ctrl+C copy起來打開檔案總管並貼上,是不是頓時覺得自己是天生奇才,YA,真的是不枉費阿母從小勤勤儉儉多年將我們養大成材是吧。
疑?是不是好像少了某個不合群的傢夥? Microsoft.ReportViewer.ProcessingObjectModel竟然不在列表中,大驚!
莫急莫慌張,左手泡一杯茶,順勢右手掐指一算,"耶老大"降駕提示我們在執行階段是在assembly裡GAC下執行,Compile時常常會看到的那一長串東西頓時浮現在我們的腦海裡久久不去,達到傳說中的物我兩忘境界。左手喝一口剛泡好的茶,右手一拍大腿內側(記得,一定要是內側)腦門上立馬驚出一身冷汗,登時混身有如提壺灌頂般豁然開朗。切記,此時萬萬不可望記高呼一聲"耶老大"的口號:"阿秋"。
P.S 拍大腿內側的原因是這樣才會出一身冷汗用來灌頂。
//-----------------------------------------------
剛剛耶老大有明示位置如下:
C:\WINDOWS\ASSEMBLY\GAC_MSIL\Microsoft.ReportViewer.ProcessingObjectModel
快點打開檔案總管key上位置
瞎米,這麼不給"耶老大"面子,豈敢質疑老大的英明睿智。竟然讓我流下男人最珍貴的淚水,哭哭,立馬打開console(執行=>cmd +enter)來幫幫手。
P.S因為這邊我是VS2008,所以我用的是9.0.0.0版本。
下指令將檔案Copy出來如下:
完成以上步驟後,快點施展水上飄轉到C:\dll資料夾
是的,你得到他了,不相信的話請呼自已一巴掌佛門絕學大力金剛掌看看不會不會痛。
最後,將以上三個dll引用進去參考立時大功告成,是不是很簡單阿,您說是吧客倌。