Как обновить часть пакета / решения (customwebform, workflow и т. Д.) Без потери элементов списка - PullRequest
0 голосов
/ 03 ноября 2011

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

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

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

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

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

Я провел много дней исследований и ничего не работает. Я смотрел в:

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

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

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

C:\Program Files\Common Files\Microsoft Shared\Web Server Extensions\14\TEMPLATE\CONTROLTEMPLATES

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

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

1 Ответ

0 голосов
/ 04 ноября 2011

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

Существует два подхода, которые вы можете использовать, чтобы игнорировать это поведение

  1. Установите модель развертывания "Нет активации", это приведет к развертыванию пакета и оставлению ранее развернутой и активированной функции на месте.

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

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

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

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...