Я новичок в 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}, найдено в текущем семействе сайтов или на дочернем сайте.
Интересно, что может быть не так с моим определением поля поиска?Каков правильный формат определения полей поиска?