代码之家  ›  专栏  ›  技术社区  ›  Richard Slater

无法确定ID为的功能的定义…-未知GUID

  •  1
  • Richard Slater  · 技术社区  · 17 年前

    Failed to determine definition for Feature with ID
    'cdca545a-333a-4b3f-ba15-ac3cdbb12312'.
    Skipping this feature for element querying consideration. 
    

    (为清晰起见,添加了换行符)

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

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

    也没有:

    grep -S -i cdca545a <path to \12\>
    

    我的开发计算机由Windows 2003 R2、Windows Sharepoint Services 3.0 SP1、Visual Studio 2008和STDEV 2008组成。

    目前,该功能已部署,但列表无法实例化,我正试图通过日志文件噪波找到问题的根源。

    2 回复  |  直到 17 年前
        1
  •  3
  •   LeonZandman    17 年前

    您可以尝试枚举SharePoint场上已安装的功能定义。下面是一些打印每个已安装功能的功能ID和显示名称的示例代码:

    SPFeatureDefinitionCollection featureDefinitions = SPFarm.Local.FeatureDefinitions;
    foreach (SPFeatureDefinition featureDefinition in featureDefinitions)
    {
        Console.WriteLine("{0}: {1}", featureDefinition.Id, featureDefinition.DisplayName);
    }
    
        2
  •  0
  •   Flo    17 年前

    这里有两个可能的错误来源。

    1. 如果未定义此FeatureId,则要素将假定列表定义是在同一要素(列表实例要素)中定义的。如果定义和实例有两个单独的功能,则可能会导致此错误。

    2. 正如我已经说过的,FeatureId必须是定义要使用的列表定义的特性的GUID。假设这不是列表定义feautre的FeatureId,而是在MOSS中创建列表实例时列表实例本身的标识符,那么您可能用新生成的GUID替换了此GUID。

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

    也许这个 blog entry 可能有助于你进一步调查。