LAMP之路

不积跬步,无以至千里!

iis6中成功安装.net3.5, asp.net版本却没显示的解决办法

2012-10-24 一抹阳光 环境架设

.net3.5确已成功安装在iis6.0,因为已经你能成功访问,可是在iis的asp.net版本里却只显示1.1和2.0,原因何在?

这几天在研究 .Net 3.5,发现了一个疑问,就是在 IIS 里面为什么看不到 ASP.NET 3.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 会发现在 <assemblies> 区段中出现了一堆 assembly 的定义,其版本都是 3.5.0.0

<compilation debug="true">
<assemblies>
<add assembly="System.Core, Version=3.5.0.0, Culture=neutral, PublicKeyToken=B77A5C561934E089"/>
<add assembly="System.Data.DataSetExtensions, Version=3.5.0.0, Culture=neutral, PublicKeyToken=B77A5C561934E089"/>
<add assembly="System.Web.Extensions, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35"/>
<add assembly="System.Xml.Linq, Version=3.5.0.0, Culture=neutral, PublicKeyToken=B77A5C561934E089"/>
</assemblies>
</compilation>

所以 ASP.NET 3.5 的程序要安装在 IIS 上不需要特別指定 ASP.NET 3.5 的版本,继续沿用 ASP.NET 2.0 的版本即可,但其服务器本身必须要先安裝 .Net Framework 3.5 runtime!