Sharepoint 2013 无法使用CSOM获取功能的DisplayName
我正在尝试使用CSOM获取网站集上所有可用功能的名称。下面的代码可以很好地获取所有功能的列表,但我无法获取Sharepoint 2013 无法使用CSOM获取功能的DisplayName,sharepoint-2013,csom,Sharepoint 2013,Csom,我正在尝试使用CSOM获取网站集上所有可用功能的名称。下面的代码可以很好地获取所有功能的列表,但我无法获取DisplayName属性 ClientContext clientContext = new ClientContext(URL); Web oWebsite = clientContext.Web; clientContext.Load(oWebsite, website => website.MasterUr
DisplayName
属性
ClientContext clientContext = new ClientContext(URL);
Web oWebsite = clientContext.Web;
clientContext.Load(oWebsite, website => website.MasterUrl, website => website.CustomMasterUrl, website => website.Features);
clientContext.ExecuteQuery();
Console.ForegroundColor = ConsoleColor.Green;
Console.WriteLine("Authenticated!");
Console.ForegroundColor = defaultForeground;
var webFeatures = clientContext.Web.Features;
clientContext.Load(webFeatures, fcol => fcol.Include( f => f.DefinitionId));
clientContext.ExecuteQuery();
foreach (var f in webFeatures)
{
Console.WriteLine(f.DefinitionId);
}
下面是一个示例,它解释了如何获取DisplayName
,但它对我不起作用
我已经升级了SP2013的SDK,但仍然无法找到此属性。你能告诉我这是否可能吗 无法访问,因为您不是从服务器请求,请更换该行:
clientContext.Load(webFeatures, fcol => fcol.Include(f => f.DefinitionId));
与:
表达式fcol.Include(f=>f.DisplayName,f=>f.DefinitionId)
构造用于获取的查询
Feature.DefinitionId
和Feature.DisplayName
属性包括在内
示例
using (var ctx = new ClientContext(url))
{
var webFeatures = ctx.Web.Features;
ctx.Load(webFeatures, fcol => fcol.Include(f => f.DisplayName,f => f.DefinitionId));
ctx.ExecuteQuery();
}
更新
using (var ctx = new ClientContext(url))
{
var webFeatures = ctx.Web.Features;
ctx.Load(webFeatures, fcol => fcol.Include(f => f.DisplayName,f => f.DefinitionId));
ctx.ExecuteQuery();
}
- 如果您的目标是SharePoint2010,则无法通过CSOM API检索
,因为它不会公开Feature.DisplayName属性
- 对于SharePoint2013确保
- 对于SharePoint联机请确保
clientContext.Load(webFeatures, fcol => fcol.Include(f => f.DefinitionId));
与:
表达式fcol.Include(f=>f.DisplayName,f=>f.DefinitionId)
构造用于获取的查询
Feature.DefinitionId
和Feature.DisplayName
属性包括在内
示例
using (var ctx = new ClientContext(url))
{
var webFeatures = ctx.Web.Features;
ctx.Load(webFeatures, fcol => fcol.Include(f => f.DisplayName,f => f.DefinitionId));
ctx.ExecuteQuery();
}
更新
using (var ctx = new ClientContext(url))
{
var webFeatures = ctx.Web.Features;
ctx.Load(webFeatures, fcol => fcol.Include(f => f.DisplayName,f => f.DefinitionId));
ctx.ExecuteQuery();
}
- 如果您的目标是SharePoint2010,则无法通过CSOM API检索
,因为它不会公开Feature.DisplayName属性
- 对于SharePoint2013确保
- 对于SharePoint联机请确保
f=>f.DisplayName
时,会显示错误。错误消息:无法将lambda表达式转换为“System.Linq.Expressions.expression[]”类型,因为它不是委托类型
@Ishan,您似乎在项目中引用CSOM v14库(有关详细信息,请参阅更新部分)。由于问题已标记为SharePoint 2013,请确保参考了CSOM库v15。我最初也有同样的感觉,因此我再次下载了CSOM v15,它要求提供修复选项,这意味着我的计算机上已经安装了v15库。我正在使用v16并连接到sp2016。获取包含关键字的错误。您能告诉我需要包含什么名称空间来修复错误吗。错误消息:“FeatureCollection”不包含“Include”的定义,并且找不到接受“FeatureCollection”类型的第一个参数的扩展方法“Include”(是否缺少using指令或程序集引用?)。我已经试过了,没有把它包括在我的问题中。当我包含f=>f.DisplayName
时,会显示错误。错误消息:无法将lambda表达式转换为“System.Linq.Expressions.expression[]”类型,因为它不是委托类型
@Ishan,您似乎在项目中引用CSOM v14库(有关详细信息,请参阅更新部分)。由于问题已标记为SharePoint 2013,请确保参考了CSOM库v15。我最初也有同样的感觉,因此我再次下载了CSOM v15,它要求提供修复选项,这意味着我的计算机上已经安装了v15库。我正在使用v16并连接到sp2016。获取包含关键字的错误。您能告诉我需要包含什么名称空间来修复错误吗。错误消息:“FeatureCollection”不包含“Include”的定义,并且找不到接受“FeatureCollection”类型的第一个参数的扩展方法“Include”(是否缺少using指令或程序集引用?),我也面临同样的问题。任何决议@Ishan?@Karthik它只适用于v16I,我也面临同样的问题。任何分辨率@Ishan?@Karthik仅适用于v16