官方博客

如何让IIS同时支持ASP.NET 3.5/4.0/4.5

标签 IIS , ASP.NET 阅读 32854 次 发布日期 2014-3-24

Windows 2012系统天然就支持ASP.NET 4.5框架,就像Windows 2008系统默认支持ASP.NET 3.5一样。我们也可以在2012系统中安装3.5框架,让IIS同时支持ASP.NET 2.0/3.5/4.0/4.5多个版本。

注意,这里提到的四个.NET框架版本,其实已经合并为两个。ASP.NET 3.5是.NET 2.0的升级版本,ASP.NET 4.5是.NET 4.0的升级版本。也就是说,当我们需要2.0版本时,把.NET框架调整到3.5即可;同理,当我们需要4.0版本时,把.NET框架调整到4.5即可。

安装准备

本文是以IIS 8.0为例,也适用于IIS 7.0/7.5/8.5版本,但不适用IIS 6.0版本,6.0版本对.NET框架的支持与设置和以后版本有很大区别。我们在安装IIS 8.0的时候,需确保已安装以下应用程序开发模块。

我们知道,IIS上可以同时支持多网站的访问,即业内人士通常说的虚拟主机。每个虚拟主机都是运行在特定的应用程序池中的,一个程序池中既可以放置一个网站,也可以放置多个网站。ASP.NET版本就是在应用程序池中设置的,同一个程序池中的全部网站则拥有相同的.NET框架。

设置方法

要测试不同.NET版本的效果,我们可以新建两个网站,并把它们放在不同的应用程序池中。关于新建网站的步骤,这里不再详述,可参考朝暮数据官方博客的其他文章。下面介绍如何修改应用程序池的.NET版本。

打开应用程序池,选择要调整的程序池,再点击右侧操作栏上的“基本设置”。

在“编辑应用程序池”对话框中,就可以选择.NET Framework版本了。请看下面的图示,虽然只显示了2个版本,但可以支持2.0/3.5/4.0/4.5四种.NET框架,或者您还可以选择“无托管代码”,让程序池完全不支持.NET。

顺便提一下,应用程序池的关键设置点除了.NET版本外,还有托管管道模式(经典/集成),以及是否启用32位应用程序(默认是64位)。因此,要决定某个应用程序池的基本特性,需同时确定.NET版本、托管模式和32/64位这三个特征。