繁体   English   中英

打开网站集功能以编程方式sharepoint csom

[英]turn on site collection features programatically sharepoint csom

我正在尝试使用CSOM以编程方式在我们的内部部署环境中打开网站集功能。

我一直收到错误: Feature with Id '7201d6a4-a5d3-49a1-8c19-19c4bac6e668' is not installed in this farm, and cannot be added to this scope.

我通过GUI检查网站集功能,它就在那里,所以我认为它已打开(并且它是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();
                   }
               }
          }

您尝试激活的功能是*元数据导航和过滤,对吧?

问题在于这部分代码:

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

我不知道isSiteColl的值是什么,因为您提供的代码中没有分配它。 但对于元数据导航和过滤FeatureDefinitionScope.SiteFeatureDefinitionScope.None都不对。

此枚举指示功能定义的位置,而不是您要安装它的位置。 正确的价值观是:

  • Farm for OOB功能和作为自定义服务器场解决方案的一部分安装的功能。
  • Site导出为模板时生成的沙盒解决方案和功能的站点。

这是基于我的经验。 我一直在努力解决同样的问题,因为这在MSDN上的记录非常糟糕。 我不知道你什么时候应该使用WebNone值。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM