Упаковка нескольких функций в один файл решения WSP
-
05-09-2019 - |
Вопрос
Я работаю над функцией sharepoint, которая включает в себя пару определений списка, 2 веб-части, сборку приемника компонентов и форму InfoPath.
Я должен использовать WSPBuilder для их упаковки, и требование состоит в том, чтобы упаковать все эти функции в один файл решения WSP.
Теперь для WSP builder требуются файлы развертывания в определенной структуре папок, такой же, как для 12 Hive sharepoint.
Моя проблема в том, что все мои функции были разработаны отдельно и состоят из нескольких файлов проекта, и они не обязательно находятся в одной и той же структуре папок..
Как мне использовать WSP Builder для упаковки нескольких функций в одно решение WSP?
Решение
Может быть, это поможет: http://www.codeplex.com/wspbuilder/Thread/View.aspx ?Идентификатор потока=43125
В конечном счете, я думаю, вы получаете большую гибкость, создавая свои собственные файлы wsp с помощью такого инструмента, как NANT.
Другие советы
В wspbuilder нет никаких конкретных действий, которые вам нужно предпринять, чтобы иметь несколько функций в одном пакете решения.Все, что вам нужно сделать, это создать новую папку для каждой функции в папке 12 EMPLATE\ FEATURES внутри вашего решения в Visual Studio и поместить соответствующий файл feature.xml в эту папку.Например, у вас может быть:
12 EMPLATE\FEATURES\FancyFeature\feature.xml 12 EMPLATE\FEATURES eallyCoolFeature\feature.xml
...и так далее.
После создания решения wspbuilder прочитает всю древовидную структуру вашей папки 12 и добавит соответствующие узлы в файл wsp manifest.xml.То же самое относится к любым другим возможным вложенным папкам внутри папки "TEMPLATE", включая ИЗОБРАЖЕНИЯ, МАКЕТЫ и т. Д:во время развертывания все они будут скопированы в правильную папку внутри реального 12 hive, потому что папка 12 внутри вашего решения должна быть точной копией исходной.
Для лучшего понимания создайте несколько папок и файлов внутри вашей папки 12 в решении Visual Studio, скомпилируйте свой проект и загляните внутрь созданного файла manifest.xml.
Простой ответ заключается в том, что вам придется скопировать все файлы из отдельных проектов в один главный проект для вашего решения.Пока все ваши отдельные файлы функций находятся в правильном расположении в вашей папке "12", все будет в порядке.
Примечание: Вам нужно будет проверить все ваши ссылки на любые сборки, поскольку это решение создаст 1 сборку для всей вашей пользовательской логики.
У меня возникли проблемы с добавлением DLL-файлов в wsp, поэтому я написал короткую статью об этом: Как добавить библиотеки DLL в решение WSP
Обычно у меня есть один проект в решении, обозначенный как "основной".Я устанавливаю зависимости таким образом, чтобы этот "основной" проект создавался последним.Затем для других проектов, которые я хочу включить в пакет wsp, я редактирую "События публикации сборки", чтобы скопировать содержимое папки 12 и библиотеки DLL, созданные проектами, в соответствующие папки для основного проекта.Затем, после того как я создам все решение, я могу создать пакет wsp для основного проекта и знать, что он содержит все.