注:本文并不是一篇很全面的介绍网站发布的文章,仅供入门参考。
发布网站有多种形式,比较传统的方式是使用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
要全部学会里面的内容,一来很难,二来没必要,我们做项目,不是在做科研,感觉就是掌握原理,然后见招拆招,有需要再打开参考吧。
希望本文能帮上你些忙。