Формат идентификатора поля поиска Sharepoint 2010 - PullRequest
2 голосов
/ 25 октября 2011

Я новичок в Sharepoint 2010 и сейчас пытаюсь создать поле поиска, добавить его в тип контента и добавить его в список с помощью проекта Visual Studio 2010 SharePoint.Но у меня возникла странная проблема.

Я определил поле поиска следующим образом:

  <Field ID="{2A5567B7-1175-4E26-A4ED-382E4744D17A}" Type="Lookup" Name="SomeLookupField" List="Lists/SomeList" ShowField="ItemName" DisplayName="Some Field" Group="Custom Group" ReadOnly="TRUE" />

Затем я добавил его в ContentType через элемент FieldRef.И, наконец, List Definition содержит тот же элемент в Schema.xml

. Он прекрасно работает, пока я не пытаюсь сохранить свой сайт в качестве шаблона.Sharepoint не может экспортировать сайт и выдает ошибку:

Microsoft.SharePoint.SPException: Ошибка при экспорте поля сайта с именем «SomeLookupField».в Microsoft.SharePoint.SPSolutionExporter.ExportFields (поля SPFieldCollection, String partitionName)

Это вызвано ошибкой:

SPSolutionExporter: System.FormatException: Guid должен содержать 32цифры с 4 штрихами (xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx).в System.Guid..ctor (String g) в Microsoft.SharePoint.SPSolutionExporter.GetFieldSchemaXml (поле SPField, веб-сайт SPWeb, логический isFieldFromWeb, логический removeSealedAttribute) в Microsoft.SharePoint.SPSolutionExporter.ExportField (поле SPField) 1017 * SPW, SPW

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

<Field ID="2A5567B7-1175-4E26-A4ED-382E4744D17A"

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

Произошла ошибка на этапе развертывания «Активировать компоненты»:поле с идентификатором {2A5567B7-1175-4E26-A4ED-382E4744D17A}, определенным в функции {235313d2-4091-4655-8b35-70b3ad31b9f4}, найдено в текущем семействе сайтов или на дочернем сайте.

Интересно, что может быть не так с моим определением поля поиска?Каков правильный формат определения полей поиска?

1 Ответ

2 голосов
/ 27 октября 2011

Нашел решение. Определение столбца поиска должно иметь атрибут перезаписи, установленный на «ИСТИНА». Об этом написано здесь

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...