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):
<nativehr>0x8000ffff</nativehr><nativestack></nativestack>
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 =>
Одна из возможных причин - отсутствие фигурных скобок в описании полей. Вот в таком виде возможно исключение:
<Field ID="dec002a7-5bd9-4956-909e-56b1eab3a1c3" Name="PageQnt" DisplayName="Page Qnt" Type="Integer" Overwrite="TRUE"></Field>
Если добавить фигурные скобки, то все ОК:
<Field ID="{dec002a7-5bd9-4956-909e-56b1eab3a1c3}" Name="PageQnt" DisplayName="Page Qnt" Type="Integer" Overwrite="TRUE"></Field>
ContentTypeBinding
Второй случай, когда может возникнуть эта ошибка - неправильный URL-адрес списка в элементе привязки типа содержимого к списку:
<ContentTypeBinding ContentTypeId="0x01" ListUrl="Lists/CustomListUrl" />
В этом случае надо указать URL-адрес списка ровно тот, который указан в элемента ListInstance.