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

“/lm/w3svc/1/ROOT/app1”,這是我的寫(xiě)法,啥意思呢?“lm”大概是Local machine,網(wǎng)站發(fā)布位置跟前面指定的服務(wù)器一致;“w3svc”就是IIS服務(wù)了,“1”是Site ID,這里的“1”指的應(yīng)該就是默認(rèn)網(wǎng)站;“ROOT”這里指的是默認(rèn)網(wǎng)站的根目錄;最后的“app1”就是我建的虛擬目錄了。如果是別的情況,請(qǐng)上MSDN查查看。這段講解其實(shí)連我自己都不是很確定,這個(gè)選項(xiàng)很晦澀,又很關(guān)鍵,寫(xiě)錯(cuò)了就發(fā)布不成功。
后面的User name/Passworld自然得要有管理員權(quán)限了。
如果這里你成功了,你會(huì)很快發(fā)現(xiàn)一個(gè)問(wèn)題,那就是web.config這個(gè)文件,服務(wù)器的配置一般跟本地調(diào)試的配置是不同的,你發(fā)布的時(shí)候是直接把本地的這個(gè)文件上傳到服務(wù)器了,肯定是不對(duì)的了,怎么改?
其實(shí)你如果是用向?qū)?chuàng)建工程的話,你就會(huì)發(fā)現(xiàn)web.config這個(gè)節(jié)點(diǎn)打開(kāi)的話下面有兩個(gè)文件,如圖:

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