2016-03-11 3 views
1

Я пытаюсь включить функции семейства сайтов в нашу локальную среду, используя CSOM.включить функции набора сайтов programatically sharepoint csom

я получаю ошибку: Feature with Id '7201d6a4-a5d3-49a1-8c19-19c4bac6e668' is not installed in this farm, and cannot be added to this scope.

проверить возможности семейства веб-сайтов с помощью графического интерфейса пользователя, и именно там, так что я полагаю, что эта функция включена (и это OOTB).

Почему это происходит?

Код:

try 
      { 
      if (featureNode.Attributes != null) 
      { 
       string guid = featureNode.Attributes["ID"].Value; 
       string featureName = featureNode.Attributes["FeatureName"].Value; 

       Guid featureGUID = new Guid(guid); 
       if (isSiteColl) 
       { 
        currentFeatures.Add(featureGUID, false, FeatureDefinitionScope.Site); 
         currentContext.ExecuteQuery(); 
        } 
        else 
        { 
         currentFeatures.Add(featureGUID, false, FeatureDefinitionScope.None); 
         currentContext.ExecuteQuery(); 
        } 
       } 
      } 

ответ

0

Функция вы пытаетесь активировать это * Metadata навигации и Filtering`, верно?

Проблема заключается в этой части коды:

if (isSiteColl) 
{ 
    currentFeatures.Add(featureGUID, false, FeatureDefinitionScope.Site); 
    currentContext.ExecuteQuery(); 
} 
else 
{ 
    currentFeatures.Add(featureGUID, false, FeatureDefinitionScope.None); 
    currentContext.ExecuteQuery(); 
} 

Я не знаю, что значение isSiteColl есть, так как он не назначается в коде предоставленных Вами. Но для Навигация и фильтрация метаданных, ни FeatureDefinitionScope.Site, ни FeatureDefinitionScope.None не является правильным.

Это перечисление указывает, где функция определение, а не там, где вы хотите его установить. Правильные значения:

  • Farm для функций OOB и тех, которые установлены как часть пользовательских решений для ферм.
  • Site для изолированных решений и функций, сгенерированных при экспорте сайта в качестве шаблона.

Это основано на моем опыте. Я боролся с той же проблемой, поскольку это очень плохо документировано в MSDN. Я понятия не имею, когда вы должны использовать значения Web и None.