Вот как я буду преобразовывать ваши неуправляемые элементы в пакет управляемых решений в Visual Studio 2010:
Создание «пустого проекта SharePoint».
Установите цель развертывания. В Solution Explorer щелкните узел проекта и посмотрите на панель Properties .Задайте свойство Target Deployment Target в диапазоне от GlobalAssemblyCache
до WebApplication
.В этом случае мы оставим это значение по умолчанию GlobalAssemblyCache
.
Обратите внимание, что есть удобное свойство с именем Включить сборку в пакет .Это используется для исключения вашей сборки проекта по умолчанию из выходного пакета.Зачем тебе это нужно?Если ваш проект не содержит кода: например, вы просто связываете некоторые сторонние библиотеки DLL для развертывания.
Замените ссылки на DLL-библиотеки SharePoint. Следуйте инструкциямШаги Статья Адама Маколея , чтобы удалить библиотеки v14 и добавить обратно библиотеки v12.
Добавить элемент получателя событий. Щелкните правой кнопкой мышисвой проект и укажите Добавить> Новый элемент ... и выберите «Приемник событий».Дайте получателю события правильное имя и нажмите Добавить .
Настройте приемник событий. Visual Studio подключится к вашей (2010) SharePointэкземпляра, а затем предложит с помощью мастера провести вас через какие события вы хотите обработать и для каких типов элементов.Конечным результатом является элемент Event Receiver в вашем решении с заглушенным классом, который переопределяет правильные методы, а также файл Elements.xml
, который настроен соответствующим образом.Если у вас уже есть оба этих файла, вам не нужно завершать работу мастера «правдиво» ... просто выберите первый вариант, нажмите Готово и позвольте Visual Studio создать Event Receiver и соответствующую функцию..
Добавьте логику кода. В обозревателе решений разверните узел получателя событий, чтобы открыть класс .CS
и соответствующий Elements.xml
.Скопируйте содержимое существующих файлов в эти места.
Настройте функцию пакета. В Solution Explorer , разверните узел «Функции»и найдите функцию по умолчанию (Feature1.feature
).Это было создано, когда вы добавили элемент Event Receiver.Для ясности переименуйте элемент в нечто логичное, затем дважды щелкните его, чтобы открыть элемент в режиме разработки.Вы должны увидеть, что получатель событий уже добавлен в крайнюю правую панель («Элементы в функции»).Были ли другие, вы могли бы выборочно добавлять / удалять элементы из функции.Вот место, где вы устанавливаете область действия функции: Farm
/ Site
/ Web
/ WebApplication
.
Также важно, что в конструкторе компонентов обратите внимание на Свойства Панель имеет множество дополнительных опций, которые можно установить на объекте.К ним нельзя получить доступ ни в каком другом месте, поэтому не забывайте о том, где их можно найти.
Наконец, если вы нажмете вкладку Манифест в нижней частидизайнер, вы можете просмотреть, как будет выглядеть манифест функции.При необходимости манифест можно отредактировать вручную (фактически отключив конструктор), но мне еще предстоит найти что-то, что мне нужно сделать, и я не могу настроить его через свойства.
Настройте общий пакет. В Solution Explorer разверните узел «Пакет» и найдите пакет по умолчанию (Package.package
).Как и в случае с функциями, дважды щелкните пакет, чтобы открыть его в режиме разработки.Это тот же интерфейс, который используют функции, позволяя вам выбрать, какие функции будут частью этого пакета.Ваш приемник событий уже должен быть добавлен в крайнюю правую панель («Элементы в пакете»).
Опять-таки, как и функции, пока вы находитесь в режиме разработки пакета, панель Свойства сделает доступными определенные свойства, которые нельзя редактировать в другом месте.В частности, именно здесь вы должны удалить значение из Версия продукта SharePoint .
Кроме того, у нас есть тот же предварительный просмотр манифеста, который доступен нам на вкладке Манифест внизу экрана.Это удобно для проверки таких вещей, как SafeControl
записи (если они вам нужны) и тому подобное.Запись Assembly
должна отражать правильную цель развертывания (в данном случае GlobalAssemblyCache
), которая была установлена в проекте.
Наконец, вкладка Advanced позволяет вам указать дополнительные сборки /SafeControl
записей в пакет, что полезно, если вы связываете дополнительные библиотеки DLL с библиотекой проекта по умолчанию.
Создайте свой проект. Очевидно, что мы хотимчтобы убедиться, что он компилируется!
Тестирование развертывания. Когда я тестирую, я сначала развертываюсь на своем экземпляре 2010 (потому что это удобно) и перепроверяю, что всебыл установлен, как я и ожидал: DLL в правильном месте (BIN / GAC), соответствующие записи Web.config
созданы, функция установлена в нужной области, функция активируется должным образом и т. д.
Упакуйте решение. Укажите на ваш пункт меню Build> Package .WSP будет помещен в соответствующую выходную папку для активной конфигурации.Тестовое развертывание в вашем экземпляре SharePoint 2007.