Note
Access to this page requires authorization. You can try signing in or changing directories.
Access to this page requires authorization. You can try changing directories.
最近曙光在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的版本呢?