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


Устранение неполадок решений SharePoint

При отладке решений SharePoint с помощью отладчика Visual Studio могут возникнуть следующие проблемы или оповещения. Дополнительные сведения см. в разделе "Отладка решений рабочих процессов SharePoint 2007".

Ограничения маркеров в изолированных визуальных веб-частях

Визуальные веб-части в изолированных решениях не могут обрабатывать стандартные токены, например $SPUrl, которые поддерживает среда выполнения SharePoint. В результате URL-адрес не может быть разрешен, и нельзя просмотреть содержимое в представлении кода в конструкторе визуальной веб-части при ссылке на него непосредственно в элементе скрипта, как в следующем примере:

<script src="<% $SPUrl:~site/SiteAssets/ListOperations.js %>"></script>

Для обхода этого ограничения и разрешения токенов на него ссылаются с помощью литералов:

<asp:literal ID="Literal1" runat="server" Text="<script src='" />
<asp:literal ID="Literal2" runat="server" Text="<% $SPUrl:~site/SiteAssets/ListOperations.js %>" />
<asp:literal ID="Literal3" runat="server" Text="' type='text/javascript' ></script>" />

Ограничения символов в именах проектов и элементов проекта

Названия проекта и его элементов могут содержать только символы, допустимые для пути развертывания в SharePoint 2010. Другие символы не допускаются.

Сообщение об ошибке

Сообщение об ошибке "Недопустимые символы".

Разрешение

Для названий проектов SharePoint и элементов проектов используйте только следующие знаки:

  • Буквенно-цифровые символы ASCII

  • Space

  • Период (.)

  • Запятая (,)

  • Символ подчеркивания (_)

  • Dash (-)

  • Обратная косая черта (\)

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

Ошибки при создании настраиваемых полей

В Visual Studio настраиваемые поля определяются в ФОРМАТЕ XML. Может возникнуть ошибка, если поле не определено или на него не существует ссылка в определенном формате.

Сообщение об ошибке

Сообщение об ошибке "Недопустимые символы" во время упаковки.

Разрешение

Идентификатор для определения поля должен представлять собой GUID, заключенный в фигурные скобки, как показано в следующем примере:

<Field ID="{5744d18c-305e-4632-8bd1-09d134f4830d}"
    Type="Note"
    Name="PatientName"
    DisplayName="Patient Name"
    Group="A Custom Group">
</Field>.

Как показано в следующем примере, ссылка на поле в типе контента должна быть определена с помощью пустого формата элемента (<FieldRef />), а не с помощью начальных и конечных элементов (<FieldRef/FieldRef><>):

<FieldRef ID="{5744d18c-305e-4632-8bd1-09d134f4830d}"
    Name="PatientName"
    DisplayName="Patient Name"
    Required="TRUE"/>

Если для поля существует проблема с исходным XML-файлом, например, неверный формат или недопустимый XML-файл, возникает ошибка "Невозможно обработать файл".

Новые определения сайтов, отличные от английского языка, не отображаются на странице создания сайта после развертывания

После создания и развертывания определения сайта с помощью не-английской версии Visual Studio (то есть версии с идентификатором языкового стандарта, отличного от 1033), вкладка "Настройки SharePoint" не отображается в поле "Выбор шаблона", а новый шаблон сайта не отображается на странице "Новый сайт SharePoint".

Сообщение об ошибке

Нет.

Разрешение

Эта проблема возникает из-за неправильного значения в свойстве Path для файла конфигурации определения веб-сайта webtemp, например webtemp_SiteDefinitionProject1.xml. В свойстве Path для веб-файла webtemp, расположенного в расположении развертывания, измените значение 1033 на соответствующий идентификатор языкового стандарта. Например, чтобы использовать японский языковой стандарт, измените значение на 1041. Дополнительные сведения см. в разделе Номера локалей, назначаемые Microsoft.

Ошибка возникает при развертывании проекта рабочего процесса в чистой системе

Эта проблема возникает при развертывании проекта рабочего процесса в Visual Studio в чистой системе. Чистая система — это компьютер, имеющий новую установку Visual Studio и SharePoint, но не развернутые проекты рабочих процессов.

Сообщение об ошибке

Не удается найти список SharePoint: журнал рабочих процессов.

Разрешение

Эта ошибка возникает из-за отсутствия списка журнала рабочих процессов. Так как среда разработки является чистой системой, рабочие процессы не развертываются, а список журналов рабочих процессов еще не существует. Чтобы устранить эту проблему, откройте мастер рабочего процесса, который приводит к созданию списка журналов рабочих процессов.

Повторная отступка мастера рабочего процесса

  1. В Обозреватель решений выберите узел рабочего процесса.

  2. В окне "Свойства" нажмите кнопку с многоточием (...) на любом свойстве с кнопкой с многоточием.

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

При отладке решения SharePoint, содержащего страницу приложения с элементом управления, отображающим изображение, например элемент управления HTML-изображения, необходимо обновить страницу в браузере, чтобы отобразить все изменения, внесенные в изображение.

Ошибка. Недопустимое расположение сайта

Эта проблема может возникнуть, если SharePoint Server не установлен. Это также может произойти, если у вас нет доступа администратора к веб-сайту SharePoint, указанному в мастере настройки SharePoint.

Сообщение об ошибке

  • Недопустимое расположение сайта SharePoint.

Разрешение

Веб-событие удаления сайта не происходит в проекте приемника событий

При создании проекта приемника событий и выборе определенных веб-событий, таких как "сайт удаляется", событие никогда не происходит.

Сообщение об ошибке

Нет.

Разрешение

Эта проблема возникает из-за того, что компонент область должен быть сайтом для обработки событий уровня сайта, но функция по умолчанию область для проектов приемников событий — "Веб". Затронутые веб-события:

  • Удаление сайта (веб-удаление)

  • Сайт был удален (WebDeleted)

  • Перемещается сайт (WebMoving)

  • Сайт был перемещен (WebMoved)

    Чтобы устранить проблему, измените функцию область приемника событий, как показано ниже.

Изменение функции область приемника событий

  1. В Обозреватель решений откройте файл компонента приемника событий в конструкторе компонентов, дважды щелкнув файл или открыв его контекстное меню, а затем нажмите кнопку "Открыть".

  2. Щелкните стрелку рядом с областью и выберите "Сайт " в появившемся списке.

Ошибка развертывания появляется после изменения имени идентификатора в проекте модели подключения к бизнес-данным

Эта проблема возникает, если изменить имя идентификатора сущности в модели бизнес-данных Подключение ivity (BDC), а затем попытаться развернуть решение.

Сообщения об ошибках

  • <Имя> модели имеет следующие ошибки активации внешнего типа контента ...

  • IMetadataObject с именем< "имя модели" имеет значение в поле "имя>", которое дублируется ...

Разрешение

Чтобы устранить эту проблему, удалите модель вручную и снова разверните решение. Модель можно удалить с помощью любого из следующих средств:

  • SharePoint 2010 Central Администратор istration. Дополнительные сведения см. в разделе "Управление моделями BDC" на веб-сайте Microsoft TechNet.

  • Windows PowerShell. Вы можете удалить модель, введя эту команду в командной строке: Remove-SPBusinessDataCatalogModel. Дополнительные сведения см. в разделе "Общие командлеты" (SharePoint Server 2010) на веб-сайте Microsoft TechNet.

Ошибка развертывания при попытке повторного использования пула приложений IIS на сервере SharePoint Server

Эта проблема возникает, если компонент совместимости WMI IIS 6 и платформа .NET Framework 3.5 не установлены на компьютере SharePoint Server.

Сообщения об ошибках

  • Ошибка в шаге развертывания "Корзина пула приложений IIS": недопустимое пространство имен
  • Произошла ошибка в шаге развертывания "Корзина пула приложений IIS": задача была отменена.

Разрешение

Чтобы устранить эту проблему, на компьютере SharePoint Server проверка, чтобы узнать, установлена ли совместимость WMI компонентов Windows IIS 6,

  • Windows PowerShell. Можно проверка, если компонент установлен, выполнив следующую команду PowerShell: get-windowsfeature -name Web-WMI. Если он не отображается как установленный, его можно установить, выполнив следующую команду PowerShell: install-windowsfeature -name Web-WMI. Если вы по-прежнему видите ошибки, пытающиеся перезагрузить пул приложений, убедитесь, что на компьютере также установлен платформа .NET Framework 3.5, запустив get-windowsfeature -name NET-Framework-Core и install-windowsfeature -name NET-Framework-Core, если это не так.

Ошибка появляется при попытке просмотра визуальной веб-части в SharePoint

Эта проблема возникает, когда свойство Path пользовательского элемента управления не начинается со строки CONTROLTEMPLATES\.

Сообщения об ошибках

  • Файл "/_CONTROLTEMPLATES/<имя<>/веб-части имя</>пользовательского элемента управления.ascx>" не существует.

  • Ошибка сервера в приложении '/'.

Разрешение

Действия по устранению проблемы:

  1. В Обозреватель решений выберите файл пользовательского элемента управления, расширение имени файла которого равно ASCX.

  2. В строке меню выберите окно "Просмотр>свойств".

  3. В окне "Свойства" разверните узел расположения развертывания.

  4. Убедитесь, что значение свойства Path начинается со строки CONTROLTEMPLATES\.

Ошибка возникает, когда выполняется импортированный повторно используемый рабочий процесс, содержащий поле формы задачи

Эта проблема возникает при импорте рабочего процесса, содержащего форму задачи с полем, а затем запустите новый рабочий процесс в той же системе, из которой он импортирован.

Сообщение об ошибке

Ошибка в шаге развертывания "Активация компонентов": поле с идентификатором [GUID], определенным в компоненте [GUID], было найдено в текущем семействе веб-сайтов или в дочернем сайте.

Разрешение

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

Чтобы устранить эту проблему, используйте функцию поиска и замены, чтобы изменить значение атрибута Field ID во всех импортированных файлах рабочего процесса.

Ошибка возникает при запуске переименованного импортированного экземпляра списка

Эта проблема возникает, если переименовать импортированный экземпляр списка, а затем запустить его в Visual Studio.

Сообщение об ошибке

Ошибка сборки: произошла ошибка в шаге развертывания "Активация компонентов": файл шаблон\компоненты\[импорт имени компонентапроекта]\Files\List\[староеимя списка]\Schema.xml не существует.

Разрешение

При импорте экземпляра списка атрибут с именем CustomSchema добавляется в XML-файл экземпляра списка. Elements.xml включает путь пользовательской схемы.xml для экземпляра списка. При переименовании экземпляра списка в Visual Studio путь развертывания для пользовательской схемы.xml изменяется, но значение пути атрибута CustomSchema не обновляется. В результате экземпляр списка не может найти файл schema.xml в старом пути, заданном атрибутом CustomSchema при активации функции.

Чтобы устранить эту проблему, обновите путь к расположению развертывания файла schema.xml в атрибуте CustomSchema.

Сеанс отладки SharePoint, прерванный службами IIS

Эта проблема возникает, если установить точку останова в решении Visual Studio SharePoint, выберите клавишу F5 , чтобы запустить ее, а затем оставаться в точке останова дольше 90 секунд.

Сообщение об ошибке

Процесс веб-сервера, отлаживаемый, был завершен службы IIS (IIS). Этого можно избежать, настроив параметры тестового опроса для пула приложений в IIS. Дополнительные сведения см. в справке.

Разрешение

По умолчанию пул приложений IIS ожидает 90 секунд, пока приложение не будет отвечать, прежде чем оно закрывает приложение. Этот процесс называется "pinging" приложением. Чтобы устранить эту проблему, можно увеличить время ожидания или полностью отключить подключение приложений.

Доступ к параметрам пула приложений IIS

  1. Откройте диспетчер служб IIS.

  2. В области Подключение ions разверните узел сервера SharePoint и выберите узел пулов приложений.

  3. На странице "Пулы приложений" выберите пул приложений SharePoint (обычно "SharePoint - 80"), а затем в области действий выберите ссылку "Дополнительно Параметры".

  4. Чтобы увеличить время ожидания до истечения времени ожидания IIS, измените значение максимального времени отклика (в секундах) на значение, превышающее 90 секунд.

  5. Чтобы отключить функцию pinging IIS, установите для параметра "Ping Enabled" значение False.

Автоматическое удаление оставляет потерянный экземпляр списка в SharePoint

Эта проблема возникает, если выполнить следующие действия.

  1. Создайте определение списка с экземпляром списка в Visual Studio.

  2. Выберите клавишу F5 для запуска решения.

  3. Остановите отладку или закройте сайт SharePoint.

  4. Откройте сайт SharePoint и откройте экземпляр списка.

Сообщение об ошибке

Ошибка сервера в приложении '/'.

Разрешение

Это происходит потому, что после закрытия сеанса отладки решения SharePoint функция автоматического извлечения отнимает решение. Удаление определения списка удаляется из SharePoint, но не удаляет экземпляр списка. Определение базового списка требуется экземпляром списка.

Чтобы устранить эту проблему, разверните решение в строке меню, выбрав "Развернуть сборку".> (Не отлаживать решение, выбрав Клавиша F5 .) Затем удалите экземпляр списка в SharePoint.

Исходное решение SharePoint заменено экспортируемой версией

При экспорте решения SharePoint импортируйте решение в Visual Studio, а затем разверните решение обратно на тот же сайт, с которого он был экспортирован, будет заменено исходное решение SharePoint. Эта проблема не возникает, если вы развертываете решение на сервере, на который не активировано исходное решение.

Сообщение об ошибке

Нет.

Разрешение

Чтобы избежать перезаписи решения на сайте, из которого он был экспортирован, измените идентификаторы GUID решения и идентификаторы компонентов всех импортированных функций в проекте Visual Studio.

Ошибка появляется при запуске отладки

При запуске отладки решения SharePoint в Visual Studio ошибка сигнализирует о том, что Visual Studio не удалось загрузить файл конфигурации Web.config, поскольку данный ключ отсутствует в словаре.

Сообщение об ошибке

Не удалось загрузить файл конфигурации Web.config. Проверьте файл для любых неправильно сформированных XML-элементов и повторите попытку. Произошла следующая ошибка: указанный ключ отсутствует в словаре.

Разрешение

Для решения проблемы следует убедиться, что значение свойства URL-адреса сайта проекта SharePoint в Visual Studio соответствует URL-адресу, назначенному зоне по умолчанию для сопоставлений альтернативного доступа веб-приложения. Использование для URL-адреса другой зоны, например интрасети, не решит проблему. URL-адрес сайта проекта и URL-адрес зоны по умолчанию должны совпадать. Чтобы получить доступ к альтернативным сопоставлениям доступа, откройте служебную программу "Центральная Администратор стистирация" SharePoint 2010, выберите ссылку "Управление приложениями", а затем в разделе "Веб-приложения" выберите ссылку "Настройка альтернативных сопоставлений доступа". Дополнительные сведения см. в разделе "Создание зон для веб-приложений".