Упаковка нескольких функций в один файл решения WSP - PullRequest
3 голосов
/ 20 февраля 2009

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

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

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

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

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

Ответы [ 5 ]

6 голосов
/ 20 февраля 2009

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

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

5 голосов
/ 20 февраля 2009

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

12 \ ШАБЛОН \ ОСОБЕННОСТИ \ FancyFeature \ feature.xml 12 \ TEMPLATE \ ОСОБЕННОСТИ \ ReallyCoolFeature \ feature.xml

... и т. Д.

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

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

0 голосов
/ 29 июня 2010

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

0 голосов
/ 05 сентября 2009

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

0 голосов
/ 20 февраля 2009

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

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

...