自定义SharePoint程序集的代码维护策略是什么?

时间:2009-01-02 17:46:38

标签: sharepoint feature-upgrade

如何处理现有SharePoint代码的改进和添加功能?

您是否将原始代码部署为功能?
您是否创建了新功能_V2并停用原始功能?

您发现哪些流程导致未来出现问题?

我对WebParts,EventHandlers和WorkFlows特别感兴趣。

据我所知,MS没有在更新现有代码方面留下“最佳实践”。 (实际上,我不确定他们是否将“练习”留给了“最佳实践”)

您可以看到围绕此主题的其他问题:
how-to-upgrade-a-long-running-sharepoint-workflow-already-in-production
how-to-update-spitemeventreceiver-assembly-version-for-a-list-in-sharepoint
should-i-keep-solutions-and-features-in-a-1-1-ratio

你的方法是什么?

我理解这个问题可能是主观的,但我觉得这个SharePoint开发领域存在很大的信息差距。

谢谢你,
基思

2 个答案:

答案 0 :(得分:3)

我们始终将自定义代码部署为功能和解决方案。在升级现有代码的时候,你所要做的就是stsadm -upgradesolution,一切都运行得很好。我不喜欢有feature_v2类型功能的想法...这使得跟踪当前版本非常困难。我认为您的生产环境中每个功能只应该有一个版本。

将版本控制保留在源控制系统中。

答案 1 :(得分:0)

我在一家开展大量SharePoint开发的商店工作。您希望按功能部署解决方案包。您可以随时轻松升级功能,并且需要升级解决方案包。可以使用WSPBuilder从TFS构建服务器创建此解决方案包。与此同时,唯一剩下的就是升级解决方案,并“强制”重新激活您的功能以获得该功能的新功能。

不要忘记对通过GAC完成的任何新代码部署执行IIS重置。如果您在12中放置了类似站点地图和资源的内容,则需要执行 stsadm -o copyappbincontent

如果部署包含应用程序文件的功能,则需要在服务器场的所有服务器上卸载应用程序。可以通过在每台机器上的每个应用程序的根目录放置App_Offline.htm来轻松完成。

完成后,删除App_Offline.htm(或重命名),您就完成了。您的网站重新上线。