最近在實作專案發佈到遠端測試機時遇到的問題,筆記一下。
我知道我還有許多不足的地方。但想不到連一個發佈的動作都有這麼多學問在裡面,看來我要學習的還有很多~
參考資料:http://haacked.com/archive/2008/11/03/bin-deploy-aspnetmvc.aspx/
起因:
最近開始幫公司做第一份案子,只是個小小的修改項目,主要是在MVC網站中新增DB查詢和加入兩個View
對於View當然有一些特殊要求,過程也碰了好幾次壁...... (還是用 DataTables 好阿~) 不過這不是這次要說的重點
好不容易在本機專測試OK了,但一放到測試機 server 上時就出錯了...... (我相信這種事以後也一定常發生 = =)
主要遇到兩個問題:
1. 此網頁需依附在其他站台路徑底下導致web.config衝突
2. 引用參考錯誤或找不到
這次主要是講第二個問題,至於第一個問題......之後會補上(如果我還記得的話XD)
過程:
從接手這專案一開始,我就遇到參考錯誤的問題:引用的參考之一 "System.Web.Mvc" 解析錯誤
(而明明是開啟同一份專案,但同事卻沒有相同情況!現在想想可能就是相同的原因)
一開始就參考錯誤,那之後就不用玩了~ 所以我只好手動自己加入新的參考 <----然後這一步就埋下了錯誤的種子
(新的參考版本和原本引用的版本不同也是個問題,但這裡不多談)
由於專案預設的參考是會去找執行環境下的 Framework,畢竟不可能給個專案都自帶所有 Framework (那檔案會肥很多)
但現在的問題就是我所使用的參考執行環境沒有、或版本不同,導致執行出現問題
根據找到的資料(參考上方連結),在發佈專案之前,可將部分參考設定成 [Copy Local / 複製到本機]
這樣在發佈時它會將參考檔複製到專案裡,發佈後可以看看兩者的路徑區別:
[Copy Local = True] 路徑為我專案底下的目錄
[Copy Local = False] 路徑為本機下安裝的 Framework
這樣一來就不用擔心在新的環境下找不到此專案使用的特定參考了~
結論:
關於整個專案結構內容還有許多學問 (像是web.config裡的設定,也是這次有遇到的問題)
學習之路還很長壓~
以上
* 如有錯誤或不足,歡迎指教~~
留言列表