Обновление решения фермы
Дата последнего изменения: 11 января 2011 г.
Применимо к: SharePoint Foundation 2010
В этом разделе показано, как обновить решения фермы.
Два способа обновления
Обновить решение фермы можно двумя способами. Выбор конкретного способа зависит от типа изменений, внесенных в обновленную версию решения.
Замена: старая версия решения отзывается и (необязательно) удаляется из хранилища решений фермы. После этого в хранилище решений добавляется и развертывается новая версия. Новый пакет решения (WSP-файл) необязательно должен иметь то же имя или идентификатор GUID, что и у старой версии, однако если старая версия была отозвана, но не была удалена из хранилища решений, то новая версия должна иметь другое имя файла и другой идентификатор GUID. Такой тип обновления необходимо использовать, если новая версия решения отличается от установленной по одному из указанных ниже пунктов.
В новой версии удален компонент, использовавшийся в старой, либо добавлен компонент, не использовавшийся в старой.
В новой версии изменен идентификатор компонента.
В новой версии изменена область компонента.
В новой версии используется измененная версия приемника компонента.
В новой версии добавлен новый файл elements.xml, удален старый файл elements.xml или изменено содержимое существующего файла elements.xml.
В новой версии в файл Feature.xml добавлен новый элемент Property, удален из файла Feature.xml один из элементов Property или изменено значение элемента Property в файле Feature.xml.
Сведения об отзыве и развертывании решений см. в статьях Удаление и отзыв решения для фермы и Установка и развертывание решения фермы.
Обновление: устанавливается и развертывается новая версия пакета решения с другим именем файла, но с таким же идентификатором GUID, что и у старой версии. Инфраструктура развертывания Microsoft SharePoint Foundation обнаруживает совпадение идентификаторов GUID и автоматически отзывает старую версию перед развертыванием новой. Если в решении используются компоненты, старая и новая версии решения должны иметь один и тот же набор компонентов, которые остаются активными, однако сборки и некоторые другие файлы заменяются на версии из нового пакета решения.
После каждого успешного обновления решения выполняется резервное копирование предыдущей версии и она сохраняется в хранилище конфигураций. Эта резервная копия используется в случае неудачного обновления. Для каждого решения сохраняется только одна резервная копия.
Администраторы фермы выполняют данный тип обновления с помощью команды Update-SPSolution в SharePoint.
Обновление программным путем
Выполнение обновления типа Замена программным путем аналогично программному отзыву старого решения с последующим добавлением и развертыванием новой версии. Чтобы выполнить программным путем обновление типа Обновление, необходимо вызвать в коде один из перегруженных методов SPSolution.Upgrade(). Для выполнения этого метода необходимо, чтобы решение находилось в хранилище решений. Оно может быть как развернуто, так и не развернуто.
Если решение не развернуто, вызовите метод SPSolution.Upgrade(String), чтобы обновить решение в хранилище решений. Если решение развернуто, вызовите метод SPSolution.Upgrade(String, DateTime), чтобы запустить задание таймера для обновления. В обоих случаях создается резервная копия старой версии решения.