一个ASP.NET的网站开发完成之后,或者一个简单的测试项目需要进行最终环境的测试,网站应用程序非简单的可执行程序,只要在别的机器上拷贝一下,运行一下即可。基于B/S架构的程序,客户端这一方只有浏览器(虽然也需要对于各个版本的兼容性进行测试),而服务器的一端就非常复杂,由于不会在服务器这一端安装庞大的开发工具(比如Visual Studio),因此哪些需要安装,哪些是不必要的东西就非常关键。以下列出了最终发布环境的配置安装过程及注意事项。
0、安装Windows Server 2003简体中文版本(最好是R2的企业版,包含了SP2的补丁)
目前测试下来,Windows Server 2003还是比较稳定的版本。即使微软已经不再出售2003的版本了。
操作系统不求最新,但求最稳。
1、安装系统自带的IIS(6.0)
Windows Server 2003 Enterprise R2 CHN x86版本安装完成后,并没有将IIS6.0一并安装上去,DotNet Framework 版本为1.1.4322(含简体中文语言包的),所有的页面错误会显示中文。
2、安装DotNet Framework 2.0或以上版本,以及中文语言包
现在的开发大都基于DotNet Framework 2.0版本,因此必须至少安装到DotNet Framework 2.0
如果在未安装Framework 2.0之前就将页面上传到IIS目录下,此时系统是用DotNet 1.1.4322来编译。1.1是不支持 <customErrors mode="Off"/> 此标记的。此标记在Web.Config文件中。因此只有在服务器上用IE访问应用页面才会显示具体出错信息,客户端无论是否加了customErrors,都会提示你需要加customErrors标记。如果只装了Framework 2.0,未安装Framework的中文语言包,所有的运行时出错提示将会变成英文。如果是先发现出错提示变成英文然后再安装中文包,此时必须重启服务器才会显示中文提示信息。
此外,Framework 2.0是不支持AJAX技术的,需要安装微软的ASPAJAXExtSetup.msi后才能支持。其实就是多了System.Web.Extensions.dll和System.Web.Extensions.Design.dll这两个动态链接库而已。在目录C:/Program Files/Microsoft ASP.NET/ASP.NET 2.0 AJAX Extensions/v1.0.61025下可以找到这两个文件。在目录C:/WINDOWS/assembly下可以找到这两个库有没有注册进系统。安装了Framework 3.5之后会在目录C:/WINDOWS/assembly下显示版本3.5.0.0。不过注意这两个动态链接库是不向下兼容的,并不是只要有高版本的就可以了,如果程序是用低版本的System.Web.Extensions.dll和System.Web.Extensions.Design.dll进行开发的,还是需要在最终部署环境上安装ASPAJAXExtSetup.msi的。这个文件里面是1.0.61025.0的版本。
Framework 3.0及以上版本是直接支持AJAX的,不过系统自带的部分缺少很多控件,需要去http://www.asp.net/ajax自己下载最新的版本。其实只是一个AjaxControlToolkit.dll文件,将其引入到开发环境的工具面板即可。
3、将IIS注册成使用DotNet Framework 2.0,不管你装的是3.0或是3.5sp1,都到2.0目录下执行IIS注册(其他Framework版本的目录下无aspnet_regiis.exe这个文件),3.0、3.5都是2.0的扩展。只要你安装3.5sp1,除Framework 1.1版本外,其他所有的Framework版本都会被安装上。只有1.1是不兼容的,如果有程序是用此版本开发的话,需要单独安装。
Windows Server 2003 Enterprise R2 CHN x86版本即使在安装完DotNet Framework 2.0之后,虽然应用程序上已经可以支持了2.0开发的程序,但是IIS里面仍然默认为1.1.4322版本。需要执行如下步骤:
C:/WINDOWS/Microsoft.NET/Framework/v2.0.50727/aspnet_regiis.exe -i
此步骤的目的是使IIS用2.0.50727的Framework对网站进行编译。
4、安装ASPAJAXExtSetup.msi
如果使用Visual Studio 2005开发,AJAX技术必须要在安装了Visual Studio 2005 SP1之后开发环境才能够支持。
部署端如果只安装了DotNet Framework 2.0,那就还需要安装ASPAJAXExtSetup.msi这个文件(即使安装了高版本的DotNet 3.0 3.5,如果是用低版本的System.Web.Extensions开发的程序,比如Visual Studio 2005,仍然需要安装此程序,不然在C:/WINDOWS/assembly目录下只有高版本的库,没有1.0.61025的库也是会报错的)
此文件安装后会有如下目录:
C:/Program Files/Microsoft ASP.NET/ASP.NET 2.0 AJAX Extensions/v1.0.61025
System.Web.Extensions 是微软对AJAX技术的支持库。
ASPAJAXExtSetup.msi只是支持库,并不是所有的AJAX控件在内,常用的AJAX控件需要另外安装。(针对开发环境,部署环境在开发完成后的发布过程中会将用到的DLL库发布到网站的BIN目录下)
部署端安装了此msi文件后,所有开发的网站,发布后的bin目录下还需要拷贝在开发机器上安装msi后目录:/Program Files/Microsoft ASP.NET/ASP.NET 2.0 AJAX Extensions/v1.0.61025下的文件:AJAXExtensionsToolbox.dll。(只针对Visual Studio 2005在安装SP1后会出现此文件,2008用发布功能导出的网站已经包含此功能了,不需要再次拷贝此文件)
此文件包含了Visual Studio 2005内建的几个AJAX控件:ScripManager、UpdatePanel、UpdateProgress等等
本文详细介绍了一个ASP.NET网站从开发到最终环境部署的全过程,包括Windows Server 2003安装、IIS配置、.NET Framework版本升级、AJAX技术支持等关键步骤。

1363

被折叠的 条评论
为什么被折叠?



