深入浅出SharePoint——在VS2008中正确定义Webpart并通过feature来部署

开发背景:

使用VS2008开发SharePoint2007的webparts

问题描述:

使用Feature部署webpart后,手动激活和反激活的时候,系统报错并无法执行。

解决办法:

由于这个Feature执行的时候,部署了3个webpart,我们需要使用Process Monitor工具来查看是那个webpart出了问题。

Process Monitor是微软提供的系统调试工具集合,可以从这里下载www.sysinteranls.com或者http://www.cnblogs.com/mybook/archive/2012/11/06/2757597.html下载。

手工执行Feature时,Process Monitor监控到的进程信息如下图所示:

这样我们在确认是这个webpart的问题后,参考SharePoint Server上默认提供的webpart的设置,对自己的开发的webpart做如下调整。

错误的做法:

正确的做法1:

正确的做法1:

feature.xml中的定义跟做法1一样。把所有的webpart文件跟feature.xml放在同一层级的目录下,在elements.xml中不要显式地定义Path属性的值(不需要Path元素)。

经验总结:

1、巧用微软提供的系统工具Process Mornitor。当然你在下载工具包的时候,会发现更多其它的应用。

2、SharePoint定制开发可以参考SharePoint Server上很多功能的模板和样例,本身它就提供了很多样例。

3、手工(active和deactive)和通过stmadm命令来操作features的原理是不一样的,前者通过读取xml文件,后者通过webpart的guid。

4、如果手工在12\TEMPLATE\FEATURES中修改对应的webpart定义文件,记得要重启IIS。

原文地址:https://www.cnblogs.com/mingle/p/SharePoint07_WebPart.html