如何处理现有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开发领域存在很大的信息差距。
谢谢你,
基思
答案 0 :(得分:3)
我们始终将自定义代码部署为功能和解决方案。在升级现有代码的时候,你所要做的就是stsadm -upgradesolution,一切都运行得很好。我不喜欢有feature_v2类型功能的想法...这使得跟踪当前版本非常困难。我认为您的生产环境中每个功能只应该有一个版本。
将版本控制保留在源控制系统中。
答案 1 :(得分:0)
我在一家开展大量SharePoint开发的商店工作。您希望按功能部署解决方案包。您可以随时轻松升级功能,并且需要升级解决方案包。可以使用WSPBuilder从TFS构建服务器创建此解决方案包。与此同时,唯一剩下的就是升级解决方案,并“强制”重新激活您的功能以获得该功能的新功能。
不要忘记对通过GAC完成的任何新代码部署执行IIS重置。如果您在12中放置了类似站点地图和资源的内容,则需要执行 stsadm -o copyappbincontent 。
如果部署包含应用程序文件的功能,则需要在服务器场的所有服务器上卸载应用程序。可以通过在每台机器上的每个应用程序的根目录放置App_Offline.htm来轻松完成。
完成后,删除App_Offline.htm(或重命名),您就完成了。您的网站重新上线。