Как получить все семейства сайтов с помощью C# CSOM

Мой код:

                SPOSitePropertiesEnumerable spp = null;
                Microsoft.Online.SharePoint.TenantAdministration.Tenant tenant = new Tenant(clientContext);
                int startIndex = 0;

                while (spp == null || spp.Count > 0)
                {
                    spp = tenant.GetSiteProperties(startIndex, true);
                    clientContext.Load(spp);
                    clientContext.ExecuteQuery();

                    foreach (SiteProperties sp in spp)
                    {
                        Response.Write("<br/> All Sites Collection: " + sp.Title + "<br/>");
                       // siteCols.Add(new SiteCol(sp.Title, sp.Url));

                      //  startIndex = siteCols.Count;
                    }
                    startIndex++;
                }

Я получаю эту ошибку: Метод Microsoft.SharePoint.Client.ClientRuntimeContext.Load: аргумент типа 'Microsoft.Online.SharePoint.TenantAdministration.SPOSitePropertiesEnumerable' нарушает ограничение параметра типа 'T

Есть ли другой способ получить все семейства сайтов?

2 ответа

Ошибка:

Метод Microsoft.SharePoint.Client.ClientRuntimeContext.Load: аргумент типа "Microsoft.Online.SharePoint.TenantAdministration.SPOSitePropertiesEnumerable" нарушает ограничение параметра типа "T".

происходит из-за несоответствия между Microsoft.Online.SharePoint.Client.Tenant.dll сборка и Microsoft.SharePoint.Client.dll версии сборки, на которые есть ссылки в проекте.

Microsoft выпустила следующие SDK:

разрешение

Убедитесь в правильности версии Microsoft.Online.SharePoint.Client.Tenant.dll сборка ссылается.

Например, для проекта SharePoint Online необходимо указать следующую сборку: Microsoft.Online.SharePoint.Client.Tenant, Version=16.0.0.0, Culture=neutral, PublicKeyToken=71e9bce111e9429c

Тип ( см.):

Install-Package Microsoft.Sharepoint.2013.Client.16
Другие вопросы по тегам