注:本文并不是一篇很全面的介紹網站發布的文章,僅供入門參考。
發布網站有多種形式,比較傳統的方式是使用FTP,或者用Windows遠程桌面之類的,將各個aspx和dll復制到對應的服務器目錄中去。這樣做的缺點顯而易見,就是不夠方便,另外很難做到只上傳更新過的文件。
強大的Visual Studio提供了直接的網站發布的功能,其實準確說并不是Visual Studio提供的,而是通過了微軟提供的一套工具,Web Deployment Tool,這套工具在你安裝Visual Studio的時候也就自動安裝了,并且跟Visual Studio很好地整合了起來,當然,光是你自己開發用的電腦上裝了還是不行的,服務器也得裝,反正我用的Windows Server 2003服務器上默認是沒有的。這個工具的介紹及下載地址見:
http://technet.microsoft.com/en-us/library/dd569059(WS.10).aspx
然后……
我就偷懶一下,詳情直接自己看MSDN,后面我只針對可能出現的問題講講:
http://msdn.microsoft.com/zh-cn/library/dd465337.aspx
在你“Publish Web”的時候,會出現這個對話框,注意那個“Site/application”的選項:

“/lm/w3svc/1/ROOT/app1”,這是我的寫法,啥意思呢?“lm”大概是Local machine,網站發布位置跟前面指定的服務器一致;“w3svc”就是IIS服務了,“1”是Site ID,這里的“1”指的應該就是默認網站;“ROOT”這里指的是默認網站的根目錄;最后的“app1”就是我建的虛擬目錄了。如果是別的情況,請上MSDN查查看。這段講解其實連我自己都不是很確定,這個選項很晦澀,又很關鍵,寫錯了就發布不成功。
后面的User name/Passworld自然得要有管理員權限了。
如果這里你成功了,你會很快發現一個問題,那就是web.config這個文件,服務器的配置一般跟本地調試的配置是不同的,你發布的時候是直接把本地的這個文件上傳到服務器了,肯定是不對的了,怎么改?
其實你如果是用向導創建工程的話,你就會發現web.config這個節點打開的話下面有兩個文件,如圖:

如果沒有,你也可以右擊web.config,然后在彈出的菜單中選擇“Add Config Transforms”,“Web.Debug.Config”是用來在發布Debug版的網站的時候,用來對web.config做一些修改的,“Web.Release.Config”是用來在發布Release網站的時候,用來對web.config做一些修改的,如果你有更多的配置文件,這種“Config Transforms”會有更多個。
你打開Web.Debug.Config看看,其實上面都已經有注釋教你如何來寫這個文件的了,只不過如果你需要更詳細的信息的話,就不夠,你得參看這個鏈接:
http://msdn.microsoft.com/zh-cn/library/dd465326.aspx
要全部學會里面的內容,一來很難,二來沒必要,我們做項目,不是在做科研,感覺就是掌握原理,然后見招拆招,有需要再打開參考吧。
希望本文能幫上你些忙。