偶尔会在SharePoint的log中出现这样的错误信息:
Exception thrown while determining definition for Feature with ID '56gt087c-655j-60hy-9b11-86gtt5af8ghr': Microsoft.SharePoint.SPException: Failed to find the XML file
at location '14\Template\Features\MyFeature\feature.xml'
at Microsoft.SharePoint.SPXmlDocCache.GetGlobalXmlDocument(String pathTemplateRelativeXml, SPFeatureDefinition featdef)
at Microsoft.SharePoint.Administration.SPFarmFeatureDefinitionContext.LoadFileAsXmlDocument(SPFeatureDefinition featdef, String featureRelativePath)
at Microsoft.SharePoint.Administration.SPFeatureDefinition.EnsureGlobalDefinition()
at Microsoft.SharePoint.Administration.SPFeatureDefinition.EnsureElementManifestList()
at Microsoft.SharePoint.Administration.SPFeatureDefinition.GetElementDefinitions(CultureInfo ciElements)
at Microsoft.SharePoint.SPElementProvider.QueryForElementsJoinOR[TElementType](List`1 lstdictAttrPatterns, List`1 lstfeatdefsOfInterest, List`1 listofOptionalElementsToQuery, CultureInfo ciElements, Int32 webUIVersion). Skipping this feature for element querying consideration.
意思就是找不到feature.xml这个文件,即使是在Feature已经部署和激活之后,还有这样的错误信息。而且在14目录下是可以找到这个文件的,feature的功能也正常,但是就是一直报这个错误。
今天看到了一个原因,原文参见:点击打开链接
原因就是包含feature的wsp包,仅仅部署在了管理中心网站上而没有部署到其他任何web application上(一个典型的情形就是Farm中只有一台服务器的时候)。如果不想有这个烦人的log信息,可以将相应的wsp部署到任意一个其他的web applicaition上。这样就可以解决问题了。