Unable to locate the xml-definition for FieldName

При развертывании решения в SharePoint 2010 иногда возникает следующая ошибка

Unable to locate the xml-definition for FieldName with FieldId 'GUID', exception: Microsoft.SharePoint.SPException ---> System.Runtime.InteropServices.COMException (0x8000FFFF): 0x8000ffff at Microsoft.SharePoint.Library.SPRequestInternalClass.GetGlobalContentTypeXml(String bstrUrl, Int32 type, UInt32 lcid, Object varIdBytes) at Microsoft.SharePoint.Library.SPRequest.GetGlobalContentTypeXml(String bstrUrl, Int32 type, UInt32 lcid, Object varIdBytes) --- End of inner exception stack trace --- at Microsoft.SharePoint.SPGlobal.HandleComException(COMException comEx) at Microsoft.SharePoint.Library.SPRequest.GetGlobalContentTypeXml(String bstrUrl, Int32 type, UInt32 lcid, Object varIdBytes) at Microsoft.SharePoint.SPFieldCollection.FetchFieldsFromWeb()

При этом Visual Studio пишет об этом довольно лаконично: Error occurred in deployment step 'Activate Features': .

GUID => {GUID}

Одна из возможных причин - отсутствие фигурных скобок в описании полей. Вот в таком виде возможно исключение:

  1. <Field ID="dec002a7-5bd9-4956-909e-56b1eab3a1c3" Name="PageQnt" DisplayName="Page Qnt" Type="Integer" Overwrite="TRUE"></Field>

Если добавить фигурные скобки, то все ОК:

  1. <Field ID="{dec002a7-5bd9-4956-909e-56b1eab3a1c3}" Name="PageQnt" DisplayName="Page Qnt" Type="Integer" Overwrite="TRUE"></Field>

ContentTypeBinding

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

  1. <ContentTypeBinding ContentTypeId="0x01" ListUrl="Lists/CustomListUrl" />

В этом случае надо указать URL-адрес списка ровно тот, который указан в элемента ListInstance.


Поделиться

Коментарии