[英]Failed to determine definition for Feature with ID… - unknown GUID
我正在开发一项功能以安装具有关联列表和列表实例的 WebPart。 在部署列表时,会记录以下消息:
Failed to determine definition for Feature with ID
'cdca545a-333a-4b3f-ba15-ac3cdbb12312'.
Skipping this feature for element querying consideration.
(为清楚起见添加了换行符)
我已经阅读了各种博客上的文章,这些文章建议通过功能搜索来识别有问题的功能。 为了搜索 Sharepoint 12 目录,我下载了支持搜索子目录的grep版本,但是以下命令在我的开发 VM 或 Live 服务器上找不到任何匹配项:
grep -S cdca545a-333a-4b3f-ba15-ac3cdbb12312 <path to \12\>
也没有:
grep -S -i cdca545a <path to \12\>
我的开发机器由 Windows 2003 R2、Windows Sharepoint Service 3.0 SP1、Visual Studio 2008 和 STSDev 2008 组成。
目前该功能已部署但无法实例化列表,我正在尝试通过日志文件噪音来解决问题的根源。
您可以尝试枚举 SharePoint 场上已安装的功能定义。 以下是打印每个已安装功能的功能 ID 和显示名称的示例代码:
SPFeatureDefinitionCollection featureDefinitions = SPFarm.Local.FeatureDefinitions;
foreach (SPFeatureDefinition featureDefinition in featureDefinitions)
{
Console.WriteLine("{0}: {1}", featureDefinition.Id, featureDefinition.DisplayName);
}
我不确定,但问题可能与列表实例功能有关。
在功能的元素清单中,您可以定义属性“FeatureId”,该属性必须指向包含创建列表实例时要使用的列表定义的功能。
所以这里有两个可能的错误来源。
如果未定义此 FeatureId,则该功能假定列表定义是在同一功能(列表实例功能)中定义的。 如果定义和实例有两个独立的特征,这可能会导致此错误。
正如我已经说过的,FeatureId 必须是定义要使用的列表定义的功能的 GUID。 也许您用新生成的 GUID 替换了这个 GUID,假设这不是列表定义功能的 FeatureId,而是列表实例在 MOSS 中创建时的标识符。
我自己从来没有遇到过这个问题,所以我只能猜测你错误的原因可能是什么。
也许这个博客条目可以帮助您进行进一步的调查。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.