Упаковка нескольких функций в один файл решения WSP

Я работаю над функцией sharepoint, которая включает в себя пару определений списка, 2 веб-части, сборку приемника функций и форму InfoPath.

Я должен использовать WSPBuilder, чтобы упаковать их, и требование состоит в том, чтобы упаковать все эти функции в один файл решения WSP.

Теперь WSP Builder требует файлы развертывания в определенной структуре папок, такой же, как 12 Hive of sharepoint.

Моя проблема в том, что все мои функции были разработаны отдельно и состоят из нескольких файлов проекта, и они не обязательно находятся в одной структуре папок.

Как использовать WSP Builder для объединения нескольких функций в одно решение WSP?

5 ответов

Решение

Может быть, это поможет: http://www.codeplex.com/wspbuilder/Thread/View.aspx?ThreadId=43125

В конечном счете, я думаю, что вы получаете большую гибкость, создавая свои собственные файлы wsp с помощью такого инструмента, как NANT.

В wspbuilder не нужно предпринимать никаких особых действий, чтобы иметь несколько функций в одном пакете решений. Все, что вам нужно сделать, это создать новую папку для каждой функции в папке 12\TEMPLATE\FEATURES внутри вашего решения в Visual Studio и поместить соответствующий файл feature.xml в эту папку. Например, вы можете иметь:

12\TEMPLATE\FEATURES \ FancyFeature \ feature.xml 12\TEMPLATE\FEATURES \ ReallyCoolFeature \ feature.xml

... и так далее.

После создания решения wspbuilder прочитает всю древовидную структуру вашей 12-й папки и добавит соответствующие узлы в файл manifest.xml wsp. То же самое относится и к любым другим возможным подпапкам внутри папки "ШАБЛОН", включая ИЗОБРАЖЕНИЯ, СХЕМЫ и т. Д.: Во время развертывания все они будут скопированы в правильную папку в реальном кусте 12, поскольку папка 12 в вашем решении предназначена для быть точной копией оригинала.

Для лучшего понимания создайте несколько папок и файлов в своей папке 12 в решении Visual Studio, скомпилируйте свой проект и загляните внутрь сгенерированного файла manifest.xml.

У меня были проблемы с добавлением DLL в WSP, поэтому я написал небольшую статью об этом: Как добавить DLL в решение WSP

У меня обычно один проект в решении обозначен как "основной". Я установил зависимости так, чтобы этот "главный" проект был построен последним. Затем для других проектов, которые я хочу включить в пакет wsp, я редактирую "Post Build Events", чтобы скопировать содержимое папки 12 и dll, собранных проектами, в соответствующие папки для основного проекта. Затем, после создания всего решения, я могу создать пакет wsp для основного проекта и знать, что он содержит все.

Простой ответ заключается в том, что вам придется скопировать все файлы из отдельных проектов в один главный проект для вашего решения. Пока все ваши отдельные файлы объектов находятся в правильном расположении в папке "12", вам будет хорошо.

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

Другие вопросы по тегам