У меня есть несколько настраиваемых веб-частей, которые я развертываю в производственной среде. В ходе этого процесса я обнаружил несколько незначительных вещей, которые нужно исправить в различных частях. Чтобы развернуть новый код, я создаю новый пакет решения, деактивирую, затем удаляю функции, возвращаю, затем удаляю решение, а затем делаю все это снова в обратном порядке с новым пакетом. Излишне говорить, что это может занять много времени. Необходимо ли полностью удалить веб-часть, чтобы обновить ее, или можно обновить веб-часть / функцию / решение на месте?
Обновление веб-частей SharePoint
Ответы (4)
Это зависит от того, что именно меняется в вашем решении. Специально для обновления решений существует операция stsadm, но она имеет некоторые ограничения в отношении того, о чем она заботится, в первую очередь удаление старых функций и добавление новых функций. Однако, если все ваши новые функции присутствуют в библиотеках DLL веб-частей, при обновлении решения ваши изменения будут развернуты без дополнительных действий.
http://msdn.microsoft.com/en-us/library/aa543659.aspx
Мы использовали расширения Visual Studio 2008 для Windows SharePoint Services 3.0, v1.3 - Mar 2009 CTP. Это дало нам некоторые проблемы, но когда вы привыкаете к этому и убедитесь, что делаете что-то в правильном порядке, все работает.
Этот инструмент автоматизирует работу retact / delete / deploy / activate ....
Еще одна вещь, которую мы пытаемся сделать, - это сохранить как можно меньше функциональности в веб-частях. Переместите то, что можно переместить, в отдельные DLL, тогда часто можно обновить, просто скопировав новую версию DLL.
Если вы вносите незначительные изменения в свои веб-части, вы можете просто заменить if версии сборки той же DLL.
Конечно, здесь следует проявлять осторожность в отношении того, что является незначительным изменением, и оно ничего не сломает.
В этом разделе рассказывается, как правильно использовать FileVersion и AssemblyVersion.
В основном вы сохраняете AssemblyVersion тем же для незначительных обновлений, в то время как FileVersion изменяется при компиляции.
Именно так Microsoft поступает с такими вещами, как Microsoft.SharePoint.dll - AssemblyVersion исправлена на 12.0. ??? в то время как FileVersion изменяется с каждым исправлением / пакетом обновления.
О, я только что прочитал «Производственную часть» вашего ответа, этот ярлык может быть более подходящим для Dev / Test, а не для QA / Production
использовать это
stsadm -o upgradesolution -name "WSPName.wsp" -filename "c:/WSPName.wsp" -immediate -allowgacdeployment -allowcaspolicies
а затем запустите задание sharepoint
stsadm -o execadmsvcjobs
с другой стороны, вы можете обновить библиотеки DLL с помощью команды SharePoint PowerShell.
Set-location "C:\Users\Documents\WSP"
[System.Reflection.Assembly]::Load("System.EnterpriseServices, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a")
$publish = New-Object System.EnterpriseServices.Internal.Publish
$publish.GacInstall("C:\Users\Documents\WSP\wspcustom.dll")