Не удалось определить определение для функции с идентификатором ... - неизвестный GUID - PullRequest
1 голос
/ 31 марта 2009

Я нахожусь в процессе разработки компонента для установки веб-части со связанным списком и экземпляром списка. При развертывании списка регистрируется следующее сообщение:

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

(для ясности добавлены разрывы строк)

Я читал статьи в различных блогах, в которых предлагается поискать функции с целью выявления нарушающей функции. Для поиска в каталоге Sharepoint 12 я скачал версию grep , которая поддерживает поиск в подкаталогах, однако следующая команда не смогла найти совпадения ни на моей ВМ разработки, ни на сервере 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 с пакетом обновления 1 (SP1), Visual Studio 2008 с STSDev 2008.

В настоящее время функция развертывается, но создание списка невозможно, и я пытаюсь разобраться с шумом файла журнала, чтобы найти причину проблемы.

Ответы [ 2 ]

3 голосов
/ 31 марта 2009

Вы можете попробовать перечислить определения установленных функций в своей ферме SharePoint. Вот пример кода, который печатает идентификатор функции и отображаемое имя для каждой установленной функции:

SPFeatureDefinitionCollection featureDefinitions = SPFarm.Local.FeatureDefinitions;
foreach (SPFeatureDefinition featureDefinition in featureDefinitions)
{
    Console.WriteLine("{0}: {1}", featureDefinition.Id, featureDefinition.DisplayName);
}
0 голосов
/ 31 марта 2009

Я не уверен, но проблема может быть связана с функцией экземпляра списка.

В манифесте элемента объекта вы можете определить атрибут FeatureId, который должен указывать на объект, который содержит определение списка, которое будет использоваться при создании экземпляра списка.

Итак, вот два возможных источника ошибки.

  1. Если этот FeatureId не определен, функция предполагает, что определение списка определено в той же функции (функция экземпляра списка). Если у вас есть две отдельные функции для определения и экземпляра, это может привести к этой ошибке.

  2. Как я уже сказал, FeatureId должен быть GUID функции, определяющей определение списка для использования. Возможно, вы заменили этот GUID на вновь созданный, предполагая, что это не FeatureId определения списка, а идентификатор самого экземпляра списка, когда он создается в MOSS.

У меня никогда не было этой проблемы, поэтому я мог только догадываться, в чем причина вашей ошибки.

Возможно, эта запись в блоге может помочь вам в ваших дальнейших расследованиях.

...