[英]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.