繁体   English   中英

SharePoint API:2003年与2007年对比

[英]SharePoint API: 2003 vs 2007

我已经编写了使用2007 API遍历SharePoint对象模型的解决方案。 现在,我还需要支持SP 2003。 做这个的最好方式是什么?

是否可以/建议使用2007 API来访问2003 SharePoint Server?

如果使用2007 API,是否必须使用不推荐使用的类来(例如)引用配置数据库,还是使用2007年的类(例如SPFarm)?

还是使用SP 2007的2007 API和SP 2003的2003 API ...? 问题在于两者都使用相同的名称空间和类名称。 这样会变得凌乱。 (除非我是否使用别名来引用不同的名称空间?)

据我所知,2007 API和2003 API不兼容。 是吗 您将需要同时实现。

我可以建议使用接口ISharePointAPI和两个实现SharePoint2007API和SharePoint2003API。 该实现甚至可以打包到不同的程序集中,因此您将没有参考地狱:)。 这也将保护您免受2010 API更改的影响,因为您需要实现SharePoint2010API。

这些接口(大多数)在名称空间/类/成员USAGE中兼容,但是对于正确的SharePoint版本,必须使用正确版本的API。 您还必须考虑到WSS2 / SPS2003默认情况下使用.NET1.1。

我的解决方案是使用MSBEE和一些MSBUILD ninja动作从源代码中吐出两个版本。

第一个目标是.NET2,引用Microsoft.SharePoint.dll v12(WSS3 / MOSS2007),第二个目标是.NET1.1,引用Microsft.Sharepoint.dll v11(WSS2 / SPS2003)。

它相当受欢迎,但之后效果很好。 如果确实存在代码差异,则可以使用条件编译:

#if FX1_1
   // WSS2/SPS2003 specific code
#else
   // WSS3/MOSS2007 specific code
#endif

本文提供了更多细节。 这是一个大话题,我一直想写一些提示的博客文章。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM