看到文档说.net4的框架可以向下兼容2.0、3.0、3.5这几个版本,觉得是一件好事,以后服务器上就不用费时费力的安装 2.0、3.5之类的框架了。但是又觉得奇怪,2.0和3.5的框架都是很大的,为什么现在这个小得多的4.0能同时运行 前几个版本的程序呢?是不是因为 win7上自带了3.5? 那win2003上会怎么样呢?
为了搞清楚这个问题,我重新装了一台全新的 win2003 ,系统装好后,添加 IIS。并打上SP2的补丁(必须的)。这时的系统基本上算是裸机,系统的.Net版本是1.1。
然后开始安装.Net4.0的框架,安装完后,在IIS里建立两个网站(图一),一个是用 vs2010创建的默认 Asp.Net WebApplication 使用的框架版本为4.0,为了撤底不沾 4.0的边,另一个是用vs2008 创建了的 asp.net Web 站点, 并在其中写了Linq 语法的语句(查询当前目录中的文件并显示)。 部署这两个网站后,在属性对话框的asp.net 属性页中设置用户的框架版本为 asp.net4.0 , 这时会弹出一个对话框(图二),大致是说改变了.NetFrameWork的版本后会重启 W3SVC服务,(因为这个版本不再是运行在w3wp.exe中),点确定即可,完成后,在浏览器上访问,可正常运行(图三)。
图一:
图二:
图三:
结论:
.Net FrameWork 4.0 能很好的运行之前版本的.Net 网站(其他类型的应用应该也没问题),所以如果您是现在重装了服务器的系统,正要配置运行环境,那我建议你,直接只装一个.Net 4.0的框架就行了,其他的全不用装,既快又省。既能保证现有应用的正常运行,又能让你有新的开发环境去学习和测试新的技术。
题外话:我准备这样:在 win2003的服务器跑 .Net4.0一个框架就够了,然后开发使用 VS2010 做开发工具,新的开发应用定位为 3.5 的框架版本,原2.0和3.5的应用还是不变,等 4.0 正式后再考虑升级 。其实不升也无所谓,运行环境统一了,开发工具统一了,用什么版本就只是选择一下就行了:)。果然很爽。