Обновление веб-частей SharePoint

У меня есть несколько настраиваемых веб-частей, которые я развертываю в производственной среде. В ходе этого процесса я обнаружил несколько незначительных вещей, которые нужно исправить в различных частях. Чтобы развернуть новый код, я создаю новый пакет решения, деактивирую, затем удаляю функции, возвращаю, затем удаляю решение, а затем делаю все это снова в обратном порядке с новым пакетом. Излишне говорить, что это может занять много времени. Необходимо ли полностью удалить веб-часть, чтобы обновить ее, или можно обновить веб-часть / функцию / решение на месте?


person Chris Tybur    schedule 04.08.2009    source источник


Ответы (4)


Это зависит от того, что именно меняется в вашем решении. Специально для обновления решений существует операция stsadm, но она имеет некоторые ограничения в отношении того, о чем она заботится, в первую очередь удаление старых функций и добавление новых функций. Однако, если все ваши новые функции присутствуют в библиотеках DLL веб-частей, при обновлении решения ваши изменения будут развернуты без дополнительных действий.

http://msdn.microsoft.com/en-us/library/aa543659.aspx

person Preston Guillot    schedule 04.08.2009
comment
stsadm -o upgradeolution - это то, что я искал. Я читал о его предостережениях, но ни один из них не относится к моей непосредственной ситуации, поэтому я могу безопасно использовать его. - person Chris Tybur; 06.08.2009

Мы использовали расширения Visual Studio 2008 для Windows SharePoint Services 3.0, v1.3 - Mar 2009 CTP. Это дало нам некоторые проблемы, но когда вы привыкаете к этому и убедитесь, что делаете что-то в правильном порядке, все работает.

http://www.microsoft.com/downloads/details.aspx?FamilyID=FB9D4B85-DA2A-432E-91FB-D505199C49F6&displaylang=en

Этот инструмент автоматизирует работу retact / delete / deploy / activate ....

Еще одна вещь, которую мы пытаемся сделать, - это сохранить как можно меньше функциональности в веб-частях. Переместите то, что можно переместить, в отдельные DLL, тогда часто можно обновить, просто скопировав новую версию DLL.

person Shiraz Bhaiji    schedule 04.08.2009

Если вы вносите незначительные изменения в свои веб-части, вы можете просто заменить if версии сборки той же DLL.

Конечно, здесь следует проявлять осторожность в отношении того, что является незначительным изменением, и оно ничего не сломает.

В этом разделе рассказывается, как правильно использовать FileVersion и AssemblyVersion.

В основном вы сохраняете AssemblyVersion тем же для незначительных обновлений, в то время как FileVersion изменяется при компиляции.

Именно так Microsoft поступает с такими вещами, как Microsoft.SharePoint.dll - AssemblyVersion исправлена ​​на 12.0. ??? в то время как FileVersion изменяется с каждым исправлением / пакетом обновления.

О, я только что прочитал «Производственную часть» вашего ответа, этот ярлык может быть более подходящим для Dev / Test, а не для QA / Production

person Ryan    schedule 05.08.2009

использовать это

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")
person Ahmad Hindash    schedule 17.09.2015