Как обновить часть пакета / решения (пользовательскую веб-форму, рабочий процесс и т.д.) без потери элементов списка

#sharepoint #sharepoint-2010

#sharepoint #sharepoint-2010

Вопрос:

Я разрабатывал новый пакет SharePoint 2010 в Visual Studio 2010. Это мой первый проект разработки в SharePoint, поэтому, пожалуйста, простите за использование неправильной терминологии.

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

Для разработки и отладки я просто использовал опцию Build> Deploy Solution из Visual Studio для создания решения, а затем оно автоматически подключалось к моему серверу sharepoint и создавало пользовательский список, устанавливало функции, добавляло рабочий процесс и т. Д.

Но когда я хочу внести изменения, скажем, изменить цвет текста в пользовательской новой форме (моя называется MyCustomForm.ascx), затем я нажимаю Build> Deploy Solution, он удаляет пользовательский список, удаляет рабочий процесс, деактивирует и удаляет функции, а затем повторно добавляет их все снова. Таким образом, я теряю все свои элементы списка.

В рабочей среде, если мне нужно изменить рабочий процесс, я не могу просто сделать это, поскольку мы потеряем все наши элементы списка. Как я могу это сделать?

Я провел несколько дней исследований, и ничего не работает. Я изучил:

 stsadm -o upgradesolution -name SharePointProject1.wsp -filename ...
stsadm.exe -o execadmsvcjobs
  

безрезультатно. В нем говорится, что все «работает» нормально (без ошибок), но не обновляет пользовательскую форму MyCustomForm.

Я также пытался вручную редактировать файлы в:

 C:Program FilesCommon FilesMicrosoft SharedWeb Server Extensions14TEMPLATECONTROLTEMPLATES
  

также безрезультатно. Я изменяю файл MyCustomForm.ascx и обновляю страницу сайта SharePoint, и она не изменилась.

Любая информация была бы полезна. Я выполняю всю разработку на серверном компьютере, на котором работает SharePoint, и имею доступ администратора, если это поможет. Заранее благодарю вас за всю вашу помощь.

Ответ №1:

Список удаляется, потому что в развертываемом пакете решений есть элемент списка, поэтому Visual Studio «помогает», следя за тем, чтобы вы получали самую последнюю версию всего (даже если она не изменилась)

Есть два подхода, которые вы можете предпринять, чтобы преодолеть это поведение

  1. Установите для модели развертывания значение «Без активации», это приведет к развертыванию пакета и оставлению ранее развернутой и активированной функции на месте.

  2. Удалите элемент экземпляра списка из пакета, дважды щелкнув по пакету в обозревателе решений, а затем дважды щелкнув элемент экземпляра списка на правой панели.

При следующем повторном развертывании решения вам не следует удалять существующий список (я не уверен на 100% в поведении ассоциации рабочего процесса).

Из этих двух я бы склонялся к варианту 2