SharePoint和.Net Framework的版本关系
最近曙光在Facebook上写比较惊讶于SharePoint 2010不是基于.Net Framework 4.0,的确。在这里顺手写一下SharePoint和.Net的版本联系。
从大的方面看,SharePoint在2003版本之后和.Net Framework的发展历史几乎是并列的。由于之前并没有Asp.Net的版本,因此在这里我将WSSv2/SPS2003算作第一代产品。
第一代
.Net Framework 1.0/1.1是02/03年发布的,开发工具是VS2003,提供了基本的.Net框架。Windows Server 2003自带.Net 1.1。因此,同期发布的SharePoint Portal Server 2003和WSS2.0是基于.Net 1.0/1.1开发的。其限制也很明显,当时.Net缺少64位支持,因此SPS/WSSv2只有32位版本。
第二代
按ASP.Net核心论,.Net Framework 2.0/3.0是几乎完全相同的。这里的命名有些混乱,实际上3.0是2.0+一系列组件构成的:WPF/WCF/WF/CardSpace。SharePoint 2007/WSSv3的开发主要基于.Net 2.0,但工作流部分调用了Workflow Fundation。当年在产品发布之前,我们安装SharePoint的过程一直是先装.Net Framework 2.0,然后再装一个Workflow Fundation的msi包。
另外,由于.Net 2.0对.Net 1.0/1.1不完全向下兼容,因此SPS2003只能运行在ASP.Net 1.1上。不过WSSv2可以跑在Asp.Net 2.0的web应用程序池上。
第三代
2007年底发布的.Net Framework 3.5除了对几大新增组件的增强之外,还加入了很多新概念,比如LINQ。SharePoint 2010/WSS4就是基于这个3.5开发。.Net 3.5/SP1依然沿用了.Net 2.0的核心,不过由于有一些小改变,.Net 3.5 SP1不能装在有WSSv2的机器上。WSSv3/MOSS 2007则没有问题。
未来……
Wssv3和MOSS2007将不会支持4.0,不要把他们的App Pool改成4.0,虽然看起来貌似可用,但有可能会有潜在问题。SharePoint 2010是否能支持.Net 4.0?目前还不知道。但注意“支持”只代表运行起来没有问题,微软可以提供支持服务,并不代表代码中利用了新的特性。
画个表:
.Net | 1.0/1.1 | 2.0/3.0 | 3.5 | 3.5SP1 | 4.0 |
WSSv2 | Y | Y | Y | N | N |
SPS2003 | Y | N | N | N | N |
WSSv3 | N | Y | Y | Y | N |
MOSS2007 | N | Y | Y | Y | N |
WSSv4 | N | N | N | Y | ? |
SharePoint Server 2010 | N | N | N | Y | ? |
Comments
- Anonymous
November 30, 2010
Good article!如果我想在SharePoint2007上使用基于.Net 3.5的应用程序( 比如webpart),我是不是要修改webpart部署的网站集对应的应用程序池使用的.Net Framework的版本呢?