Guid featureId = new Guid("0af5989a-3aea-4519-8ab0-85d91abe39ff");
ClientContext clientContext = new ClientContext("http://mysite:786/");
Site clientSite = clientContext.Site;
clientContext.Load(clientSite);
FeatureCollection clientSiteFeatures = clientSite.Features;
clientContext.Load(clientSiteFeatures);
clientContext.ExecuteQuery();
// Activate the feature
clientSite.Features.Add(featureId, true, FeatureDefinitionScope.Site);
//clientSiteFeatures.Remove(featureId, false);
clientContext.ExecuteQuery();
MessageBox.Show("Success");
当我运行此代码时,我得到了异常:功能 ID“0af5989a-3aea-4519-8ab0-85d91abe39ff”未在农场安装 无法添加到范围。
获得了此功能ID请指导。
此致 Vikrant Raj Behal
答案 0 :(得分:3)
FeatureDefinitionScope.None
这为我激活了一个网络范围的功能。
答案 1 :(得分:2)
根据MSDN,FeatureCollection.Add
方法具有以下签名
public Feature Add(
Guid featureId,
bool force,
FeatureDefinitionScope featdefScope
)
用于将功能添加到激活功能的集合中,并返回添加的功能
参数FeatureDefinitionScope用于指定要素定义的要素范围。 同时文档说:
它的值必须为
FeatureDefinitionScope.Site
或FeatureDefinitionScope.Farm
这基本上意味着方法FeatureCollection.Add
不接受FeatureDefinitionScope.Web
的{{1}}值,因此不支持使用 Web范围激活功能。
在您的情况下,您似乎正在尝试通过CSOM激活不受支持的范围(例如Web)的功能
如何验证功能范围
featdefScope
答案 2 :(得分:0)
要使用客户端对象模型激活功能,必须使用沙箱解决方案进行部署。无法通过客户端对象模型
激活通过Farm Solutions部署的功能答案 3 :(得分:0)
FeatureDefinitionScope.None
也适用于激活网站集功能。
添加功能的方式(Sandbox,Farm Solution)并不重要。