C# 无法确定ID为的特征的定义…-未知GUID

C# 无法确定ID为的特征的定义…-未知GUID,c#,sharepoint,sharepoint-2007,web-parts,C#,Sharepoint,Sharepoint 2007,Web Parts,我正在开发一个功能来安装一个带有相关列表和列表实例的Web部件。在部署列表时,将记录以下消息: Failed to determine definition for Feature with ID 'cdca545a-333a-4b3f-ba15-ac3cdbb12312'. Skipping this feature for element querying consideration. (为清晰起见,添加了换行符) 我在各种博客上读过一些文章,这些文章建议通过搜索这些特性来识别有问题的特

我正在开发一个功能来安装一个带有相关列表和列表实例的Web部件。在部署列表时,将记录以下消息:

Failed to determine definition for Feature with ID
'cdca545a-333a-4b3f-ba15-ac3cdbb12312'.
Skipping this feature for element querying consideration. 
(为清晰起见,添加了换行符)

我在各种博客上读过一些文章,这些文章建议通过搜索这些特性来识别有问题的特性。要搜索Sharepoint 12目录,我下载了一个支持搜索子目录的版本,但是以下命令在我的开发VM或Live server上找不到任何匹配项:

grep -S cdca545a-333a-4b3f-ba15-ac3cdbb12312 <path to \12\>
grep-S cdca545a-333a-4b3f-ba15-ac3cdbb12312
也没有:

grep -S -i cdca545a <path to \12\>
grep-S-i cdca545a
我的开发计算机由Windows 2003 R2、Windows Sharepoint Services 3.0 SP1、Visual Studio 2008和STDEV 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。假设这不是列表定义feautre的FeatureId,而是在MOSS中创建列表实例时列表实例本身的标识符,那么您可能用新生成的GUID替换了此GUID

  • 我自己从来没有遇到过这个问题,所以我只能猜测你犯错误的原因


    也许这会对你进一步的调查有所帮助

    您提到的功能ID(cdca545a-333a-4b3f-ba15-ac3cdbb12312)是您自己的功能ID吗?可能是您无意中从SharePoint Features目录中删除了其他功能。FeatureID不是我自己的功能,我明天将检查生产服务器。我已经查看了live server,但仍然找不到该GUID。感谢代码snipbit,不幸的是,无论是在我的开发环境还是在生产服务器上,功能ID都不匹配,事实上,在Dev 33上,在生产服务器上只有31个功能,这听起来是真的吗?那么,您已经在12个配置单元中搜索了任何功能ID,但没有找到任何内容?你确定你用Grep的方法对吗?普通(UNIX)Grep使用“-R”参数而不是“-S”进行递归搜索。您可以通过发出“stsadm-o uninstallfeature-id cdca545a-333a-4b3f-ba15-ac3cdbb12312-force”来尝试卸载该功能