问:为什么Framework 3.5为什么在IIS的ASP.NET选项找不到?
答:3.0 3.5中都是额外的功能的,但他们的编译后的代码还是2.0的,也就是类似于文章中有Lambda与过去使用的delegate的方式所编译成的目标代码都是基于2.0的,因为.NET框架是基于静态编译的代码,因此用2.0即可解释IL了……
如果你是ASP.NET2.0的用户,当你安装..NET FRAMEWORK3.5或VS2008后,你会发现IIS中看到的仍然是ASP.NET2.0,并没有ASP.NET3.5的选项出现,以前在 .NET 2.0 的时候有个 aspnet_regiis.exe 的执行文件,在 .NET 3.5 也看不到!!
其实 ASP.NET 3.5 只是使用 .Net Framework 3.5 的组件(assembly)而已!整个核心的架构还是建立在 .NET 2.0 之上,.NET Framework 的 API 都没变,只是到了 .NET 3.5 很多 assembly 都重新写过了,且执行的速度也比 .NET 2.0 的组件还快。
如果你用 Visual Studio 2008 设计一个网站,打开 web.config,会发现在 区段中出现了一堆 assembly 的定义,其版本都是 3.5.0.0所以 ASP.NET 3.5 的程序要安装在 IIS 上不需要特别指定 ASP.NET 3.5 的版本,继续沿用 ASP.NET 2.0 的版本即可,但操作系统本身必须要先安装 .Net Framework 3.5 runtime 就是了!
装了.NET Framework 3.5,可是IIS中并没有ASP.NET 3.5版本的选项卡,原因如下:
实际上 .NET Framework 3.5 是运行环境,.NET 2.0是iis扩展的版本号,目前即使安装了.NET Framework 3.5,iis扩展的版本号依然是2.0。但是如果是VS 2008下做的程序,明确指明了.NET Framework 3.5 ,就必须需要 .NET Framework 3.5 的支持,.NET Framework 3.5 的内核还是2.0,所以你只要选择2.0就可以了。