Ищете хороший ресурс для сборки пакета SP 2007 WSP в Visual Studio 2010 - PullRequest
0 голосов
/ 03 июня 2011

У меня есть функция обработчика событий, которую я создал для sharepoint 2007 и развернул, переместив DLL в GAC и создав Feature.xml и Elements.xml в нужную папку, а затем установив их с помощью команд stsadm. Я стараюсь избегать всего этого и вместо этого имею файл WSP, который я могу запустить для автоматической установки функции в производственной среде.

Спасибо

Ответы [ 2 ]

3 голосов
/ 03 июня 2011

Вот как я буду преобразовывать ваши неуправляемые элементы в пакет управляемых решений в Visual Studio 2010:

  1. Создание «пустого проекта SharePoint».

  2. Установите цель развертывания. В Solution Explorer щелкните узел проекта и посмотрите на панель Properties .Задайте свойство Target Deployment Target в диапазоне от GlobalAssemblyCache до WebApplication.В этом случае мы оставим это значение по умолчанию GlobalAssemblyCache.

    Обратите внимание, что есть удобное свойство с именем Включить сборку в пакет .Это используется для исключения вашей сборки проекта по умолчанию из выходного пакета.Зачем тебе это нужно?Если ваш проект не содержит кода: например, вы просто связываете некоторые сторонние библиотеки DLL для развертывания.

  3. Замените ссылки на DLL-библиотеки SharePoint. Следуйте инструкциямШаги Статья Адама Маколея , чтобы удалить библиотеки v14 и добавить обратно библиотеки v12.

  4. Добавить элемент получателя событий. Щелкните правой кнопкой мышисвой проект и укажите Добавить> Новый элемент ... и выберите «Приемник событий».Дайте получателю события правильное имя и нажмите Добавить .

  5. Настройте приемник событий. Visual Studio подключится к вашей (2010) SharePointэкземпляра, а затем предложит с помощью мастера провести вас через какие события вы хотите обработать и для каких типов элементов.Конечным результатом является элемент Event Receiver в вашем решении с заглушенным классом, который переопределяет правильные методы, а также файл Elements.xml, который настроен соответствующим образом.Если у вас уже есть оба этих файла, вам не нужно завершать работу мастера «правдиво» ... просто выберите первый вариант, нажмите Готово и позвольте Visual Studio создать Event Receiver и соответствующую функцию..

  6. Добавьте логику кода. В обозревателе решений разверните узел получателя событий, чтобы открыть класс .CS и соответствующий Elements.xml.Скопируйте содержимое существующих файлов в эти места.

  7. Настройте функцию пакета. В Solution Explorer , разверните узел «Функции»и найдите функцию по умолчанию (Feature1.feature).Это было создано, когда вы добавили элемент Event Receiver.Для ясности переименуйте элемент в нечто логичное, затем дважды щелкните его, чтобы открыть элемент в режиме разработки.Вы должны увидеть, что получатель событий уже добавлен в крайнюю правую панель («Элементы в функции»).Были ли другие, вы могли бы выборочно добавлять / удалять элементы из функции.Вот место, где вы устанавливаете область действия функции: Farm / Site / Web / WebApplication.

    Также важно, что в конструкторе компонентов обратите внимание на Свойства Панель имеет множество дополнительных опций, которые можно установить на объекте.К ним нельзя получить доступ ни в каком другом месте, поэтому не забывайте о том, где их можно найти.

    Наконец, если вы нажмете вкладку Манифест в нижней частидизайнер, вы можете просмотреть, как будет выглядеть манифест функции.При необходимости манифест можно отредактировать вручную (фактически отключив конструктор), но мне еще предстоит найти что-то, что мне нужно сделать, и я не могу настроить его через свойства.

  8. Настройте общий пакет. В Solution Explorer разверните узел «Пакет» и найдите пакет по умолчанию (Package.package).Как и в случае с функциями, дважды щелкните пакет, чтобы открыть его в режиме разработки.Это тот же интерфейс, который используют функции, позволяя вам выбрать, какие функции будут частью этого пакета.Ваш приемник событий уже должен быть добавлен в крайнюю правую панель («Элементы в пакете»).

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

    Кроме того, у нас есть тот же предварительный просмотр манифеста, который доступен нам на вкладке Манифест внизу экрана.Это удобно для проверки таких вещей, как SafeControl записи (если они вам нужны) и тому подобное.Запись Assembly должна отражать правильную цель развертывания (в данном случае GlobalAssemblyCache), которая была установлена ​​в проекте.

    Наконец, вкладка Advanced позволяет вам указать дополнительные сборки /SafeControl записей в пакет, что полезно, если вы связываете дополнительные библиотеки DLL с библиотекой проекта по умолчанию.

  9. Создайте свой проект. Очевидно, что мы хотимчтобы убедиться, что он компилируется!

  10. Тестирование развертывания. Когда я тестирую, я сначала развертываюсь на своем экземпляре 2010 (потому что это удобно) и перепроверяю, что всебыл установлен, как я и ожидал: DLL в правильном месте (BIN / GAC), соответствующие записи Web.config созданы, функция установлена ​​в нужной области, функция активируется должным образом и т. д.

  11. Упакуйте решение. Укажите на ваш пункт меню Build> Package .WSP будет помещен в соответствующую выходную папку для активной конфигурации.Тестовое развертывание в вашем экземпляре SharePoint 2007.

2 голосов
/ 03 июня 2011

Извлечение «Создание веб-части SharePoint 2007 с помощью проекта Visual Studio 2010 Visual Web Part» , написанное Адамом Маколаем.Я использовал это в качестве справочного материала, когда хотел сделать то же самое, и методология прекрасно работает.Я успешно преобразовал многие из наших проектов Visual Studio 2008 в проекты 2010 года, сохраняя совместимость со средами SharePoint 2007.

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

Скорее, на шаге 1 создайте вместо«Пустой проект SharePoint», затем щелкните правой кнопкой мыши свой проект в обозревателе решений и укажите Добавить> Новый элемент ... и выберите «Веб-часть» (не «Визуальная веб-часть»).У вас нет элемента управления ASCX, и вы можете игнорировать те части учебника Адама, которые касаются обновления объявлений Register.

Это также дает дополнительное преимущество, заключающееся в захвате правильного имени для веб-части.файлы, так что вам не нужно переименовывать кучу файлов "VisualWebPart1xxx".

...