Поделиться через


Импорт элементов из существующего сайта SharePoint

Шаблон проекта "Импорт пакета решения SharePoint" позволяет использовать элементы (такие как типы содержимого и поля) существующих сайтов SharePoint в новых решениях Visual Studio SharePoint.Несмотря на то что большинство импортированных решений можно запустить без изменений, существуют некоторые ограничения и проблемы, которые следует рассмотреть (особенно это касается случаев, когда какие-либо элементы были изменены после импорта).

ПримечаниеПримечание

Для импорта рабочих процессов с возможностью повторного использования следует использовать шаблон "Импорт рабочего процесса для повторного использования".Дополнительные сведения см. в разделе Руководства по импорту рабочих процессов с возможностью повторного использования.

Поддерживаемые решения SharePoint

Visual Studio 2012 полностью поддерживает импорт решений, созданных в SharePoint Foundation 2010 и SharePoint Server 2010.

Visual Studio 2012 не поддерживает импорт решений, созданных в следующих приложениях:

  • Windows SharePoint Services 3.0

  • Microsoft Office SharePoint Server 2007

  • Visual Studio 2008

  • Microsoft SharePoint Designer 2007

  • Visual Studio 2010

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

Ограничения на импорт элемента

Несмотря на то что большинство элементов SharePoint можно импортировать из существующего WSP-файла, следующие элементы не поддерживаются и могут требовать изменений для корректной работы:

  • Сущности BDC

  • Элементы связывания рабочих процессов с кодом

  • Рабочие процессы с кодом

  • Визуальные веб-части (ASCX-файлы)

  • Веб-службы (ASMX-файлы)

  • Привязки типов содержимого

  • приемники событий;

  • Определения списков (шаблоны)

  • Определения сайтов

При экспорте решения из SharePoint Foundation 2010 или SharePoint Server 2010 такие элементы автоматически исключаются из WSP-файла.Однако WSP-файлы, созданные неподдерживаемыми инструментами, могут содержать такие элементы.(См. "Поддерживаемые решения SharePoint" ранее в этом разделе.)

Что происходит при импорте решения

При импорте решения с помощью шаблона "Импорт пакета решения SharePoint" Visual Studio копирует все содержимое WSP-файла и пытается согласовать и сохранить все ассоциации и ссылки между импортированными элементами и их файлами, для которых это возможно.

Все импортированные элементы копируются в соответствующие папки в окне Обозреватель решений.Например, типы контента отображаются в папке Типы содержимого, а экземпляры списка — в папке Экземпляры списка.Файлы, ассоциированные с импортированным элементом, также копируются в папку элемента.Например, импортированные экземпляры списка включают модули, формы и ASPX-страницы.

Ee231584.collapse_all(ru-ru,VS.110).gifЗависимые элементы

Если в мастере импорта пакета решения SharePoint выбрать зависимый элемент, опустив элементы, от которых он зависит, выводится сообщение о необходимости указать эти элементы перед выполнением импорта.

Ee231584.collapse_all(ru-ru,VS.110).gifЧто такое "компоненты"?

Пользователи SharePoint Designer могут увидеть неожиданные файлы, называемые компонентами, которые отображены в импортированных решениях в окне Обозреватель решений. Несмотря на то что компоненты присутствовали в решении SharePoint Designer, они не отображались.В Visual Studio компоненты теперь отображаются.

Компоненты — контейнеры для элементов SharePoint.Каждый компонент содержит ссылку на элемент, как в случае с типами контента и определениями списка, которые они содержат.При импорте решения Visual Studio задает компоненты для всех импортированных элементов и старается поддерживать для файлов отношения компонент-элемент.Все файлы, ссылки для которых не удалось разрешить, помещаются в папку Прочие импортированные файлы folder.

Дополнительные сведения о компонентах см. в разделах Разработка решений SharePoint и Работа с компонентами.

Ee231584.collapse_all(ru-ru,VS.110).gifОбработка особых случаев

В некоторых случаях Visual Studio не может согласовать элемент и зависящие от него файлы.Все файлы, которые Visual Studio не может разрешить, отображаются в папке Прочие импортированные файлы.Кроме того, их свойству DeploymentType присваивается значение NoDeployment, указывая на то, что они не были развернуты вместе с решением.

Например, при импорте определения списка ExpenseForms, определение списка с таким именем отобразится в папке Определения списка в окне Обозреватель решений рядом с его файлами Elements.xml и Schema.xml files.Однако ассоциированные с ними ASPX- и HTML-формы могут быть помещены в папку ExpenseForms в папке Прочие импортированные файлы.Для завершения импорта следует переместить эти файлы из определения списка ExpenseForms в Обозреватель решений и изменить значение свойства DeploymentType для каждого файла с NoDeployment на ElementFile.

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

Во время импорта рабочих процессов формы InfoPath копируются в папку Прочие импортированные файлы.Если WSP-файл содержит веб-шаблон, он устанавливается в качестве стартовой страницы окна Обозреватель решений.

Импорт полей и контейнеров свойств

При импорте решения с несколькими полями все отдельные определения полей объединяются в единый файл Elements.xml внутри узла Fields в окне Обозреватель решений.Подобным образом все записи контейнеров объединяются в файле Elements.xml внутри узла PropertyBags.

Поля в SharePoint являются столбцами заданного типа данных, например text, Boolean или lookup.Дополнительные сведения см. в разделе https://go.microsoft.com/fwlink/?LinkId=182304.Контейнеры свойств позволяют добавлять свойства к любым объектам SharePoint, от фермы до списка на сайте SharePoint.Контейнеры свойств реализованы в виде хэш-таблицы имен и значений свойств.Дополнительные сведения см. в разделах Managing SharePoint Configuration и SharePoint Property Bag Settings.

Удаление элементов проекта

Большинство элементов решений SharePoint имеет один или несколько зависимых элементов.Например, экземпляры списка зависят от типов контента, а они в свою очередь зависят от полей.После импорта решения SharePoint Visual Studio не извещает пользователя о каких-либо проблемах со ссылками в ситуации, когда удаляется элемент, но не удаляются элементы, от него зависящие, до попытки развернуть решение.Например, если импортированное решение содержит экземпляр списка, который зависит от типа контента, и пользователь удаляет список контента, при развертывании может возникнуть ошибка.Ошибка возникает, если зависимый элемент не представлен на сервере SharePoint.Аналогично, если удаленный элемент также имеет связанный контейнер свойств, удалите эти записи контейнера свойств из файла PropertyBags Elements.xml. Поэтому при удалении все элементы из импортированного решения и получении ошибки развертывания, то проверка наличия любым элементам должны быть удалены зависимые.

Восстановление отсутствующих атрибутов контейнера

При импорте решения некоторые исходные атрибуты контейнера не включаются в импортированный манифест контейнера.Если необходимо восстановить эти атрибуты в новом файле контейнера, найдите пропущенные атрибуты, сравнив исходный файл контейнера с новым файлом манифеста контейнера, и следуйте инструкциям, приведенным в разделе Практическое руководство. Настройка компонента SharePoint.

Обнаружение конфликтов развертывания не выполняется на встроенных экземплярах списка

Visual Studio не выполняет обнаружение конфликтов развертывания на встроенных экземплярах списка (т. е. экземплярах списка, по умолчанию поставляемых с SharePoint).Обнаружение конфликтов развертывания не выполняется, чтобы избежать перезаписи встроенных экземпляров списка в SharePoint.Встроенные экземпляры списка по-прежнему развертыватьы или обновлены, но никогда удалены или перезаписатьы. Дополнительные сведения см. в разделе Устранение неполадок, связанных с упаковкой и развертыванием решений SharePoint.

Импорт рабочих процессов SharePoint Server 2010

Импорт рабочего процесса, созданного в SharePoint Server 2010, не выполняется корректно после развертывания.Рабочий процесс не запускается, поскольку один сборки отсутствуют и рабочие процессы SharePoint Server 2010 содержит формы InfoPath, которые в данный момент не поддерживаются в решениях рабочего процесса Visual Studio.Однако можно добиться корректной работы импортированных рабочих процессов SharePoint Server 2010, внеся исправления в некоторые элементы, например добавив ссылки в сборки SharePoint Server 2010 и заново подключив формы InfoPath.Дополнительные сведения см. в разделе Importing SharePoint Server 2010 Workflows.

Максимально допустимое количество символов в имени элемента

Visual Studio ограничивает 260 знаками длину имени проекта и элемента проекта, включая путь.Если имя элемента импортируемого проекта превышает это ограничение, выводится ошибка:

Слишком длинный путь или имя файла.Полное имя файла должно содержать меньше 260 знаков, а имя каталога — меньше 248 знаков.

Если выводится такая ошибка, элемент не создается.Чаще всего такая проблема возникает с импортированными модулями.Чтобы избежать этой проблемы, следует:

  • использовать короткое имя проекта при вводе его в диалоговом окне Добавить новый проект;

  • создать проект как можно ближе к корневой папке, сократив тем самым длину пути.

Атрибут SharePointProductVersion

При импорте решения, созданного в более ранней версии SharePoint (например Windows SharePoint Services 3.0 или Microsoft Office SharePoint Server 2007), либо измените значение атрибута SharePointProductVersion в манифесте пакета на 12.0, либо вставьте элемент управления диспетчера скриптов во все импортированные веб-страницы и оставьте SharePointProductVersion в значении 14.0.В противном случае импортированные веб-формы не будут отображаться в SharePoint.

Ee231584.collapse_all(ru-ru,VS.110).gifФон

Решения в SharePoint Foundation 2010 и SharePoint Server 2010 содержат атрибут SharePointProductVersion.В SharePoint этот атрибут используется в манифестах пакета с целью определить, для какой версии SharePoint создано решение.Допустимы два значения — 12.0 и 14.0.Значение 12.0 указывает, что элемент создан для Windows SharePoint Services 3.0 или Microsoft Office SharePoint Server 2007, значение 14.0 — для SharePoint Foundation 2010 или SharePoint Server 2010.

Для обеспечения дополнительной защиты при отрисовке страниц ASPX SharePoint Foundation 2010 и SharePoint Server 2010 требуют, чтобы все страницы ASPX или главные страницы содержали элемент управления диспетчера скриптов.Дополнительные сведения о диспетчере скриптов см. в разделе Общие сведения об элементе управления ScriptManager.Поскольку элемент управления диспетчера скриптов был недоступен в Windows SharePoint Services 3.0 и Microsoft Office SharePoint Server 2007, его необходимо добавлять на любую страницу Windows SharePoint Services 3.0 или Microsoft Office SharePoint Server 2007, обновляемую до SharePoint Foundation 2010 или SharePoint Server 2010.На страницы ASPX, использующие стандартный шаблон страницы, не требуется добавлять элемент управления диспетчера скриптов, так как он уже добавлен на стандартный шаблон страницы.При этом на страницы ASPX, не использующие шаблон страницы или использующие пользовательский шаблон страницы, необходимо добавить элемент управления скриптом, чтобы получить возможность работать в SharePoint Foundation 2010 или SharePoint Server 2010.

Отсутствие элемента управления менеджера скриптов может вызвать проблемы при импорте проекта Windows SharePoint Services 3.0 или Microsoft Office SharePoint Server 2007 в Visual Studio 2010, поскольку атрибуту SharePointProductVersion всех новых проектов присвоено значение 14.0.При развертывании обновленного проекта с веб-формой без диспетчера скриптов форма не отобразится в SharePoint.

См. также

Задачи

Пошаговое руководство. Импорт элементов из существующего сайта SharePoint

Пошаговое руководство. Импорт рабочего процесса SharePoint Designer с возможностью повторного использования в Visual Studio

Практическое руководство. Добавление существующего файла модели подключения к бизнес-данным в проект SharePoint

Основные понятия

Руководства по импорту рабочих процессов с возможностью повторного использования