我发现停用Sharepoint中的功能会在内容数据库的AllDocs表中留下错误的条目。这些表记录然后部署其他包含相同文件名的功能,因为Sharepoint抱怨它们已经存在。如何确保停用功能不会在内容数据库中留下旧引用?
Microsoft明确表示我们不应该直接在数据库上执行查询,否则它将不受支持。
一切顺利
答案 0 :(得分:2)
我记得在尝试重新部署未实际删除的功能时收到该错误。也许你只需要更进一步?
stsadm -o deactivatefeature -name YourSolutionName -url http://yoururl
stsadm -o retractsolution -name yoursolution.wsp -immediate
stsadm -o execadmsvcjobs
stsadm -o deletesolution -name yoursolution.wsp -override
stsadm -o execadmsvcjobs
编辑:我还想加入我的协议,你永远不应该尝试直接修改数据库。
答案 1 :(得分:0)
除非在停用某项功能时出现问题(即FeatureDeactivated事件中的未处理异常或类似事件),否则您卸载的功能不应留下痕迹。
我最终使用了仍在您网站上的功能,我建议您使用SharePoint Manager。您将能够看到Web应用程序/网站集上安装的所有内容,并删除您不想要的功能。所有这些都是通过SharePoint对象模型完成的,这意味着您永远不会直接从数据库中删除任何内容,并且该工具运行良好。