最近需要把VS2010开发的网站部署到Windows Server 2003的服务器上去, Windows Server 2003操作系统自带的为IIS 6.0,IIS 6.0一般只支持.NET 2.0的程序,这就需要配置服务器上的IIS 6.0达到支持.NET 4.0的目的。在网上查找了一些文章,以供大家查阅和参考,主要有以下几个步骤:
一、升级.net framework至4.0
如果服务器已经安装了VS2010,则其中已经包含安装了.net 4.0 framework,否则就需要另外安装.net 4.0 framework,微软官方下载地址为http://www.microsoft.com/zh-cn/download/details.aspx?id=17718
二、配置IIS 6.0
按照常规操作把网站放到IIS6.0虚拟目录下,但是会发现还是访问不了,这时还需要如下配置:
1.允许web服务扩展
找到web服务扩展,找到ASP.NET v4.0.30319项,确认它是允许的,如果是禁用的就要开启它,默认情况下就是禁止的,当时自己就是因为这部分没设置好才折腾了大半天,如下图所示:
2.选择ASP.NET版本
打开IIS 6.0,右击新建的网站→属性→ASP.NET选项卡,.NET版本选择4.0.30319,如下所示:
3.应用程序映射(此步是否需要设置有疑问)
右击新建的网站→属性→主目录→配置→通配符插入,可执行文件选c:/windows/microsoft.net/framework/v4.0.30319/aspnet_isapi.dll,去掉"确认文件存在",点击确定,如下图所示:
三、可能出现的问题
如上图所示,出现“服务器应用程序不可用”的错误提示,查看系统应用程序日志如下:
错误提示为:It is not possible to run two different versions of ASP.NET in the same IIS process:IIS
解决办法:
针对不同的Framework应用程序,建立不同的ApplicationPool。不同版本的站点(包括虚拟目录,因为它也要用Application Pool),采用不同的Application Pool,即新建一个用于.net4.0以Application Pool为模板的应用程序池.Net4.0,再修改站点的属性—>应用程序池为.Net4.0就OK了。
四、相关参考
第一、二步参考了http://blog.csdn.net/zhanzkw/article/details/8425280
第三步参考了http://blog.csdn.net/flyingstarwb/article/details/3414119