Попытка удаленного доступа к Sharepoint

#c# #sharepoint #sharepoint-2010

#c# #sharepoint #sharepoint-2010

Вопрос:

Я нашел несколько сайтов, которые сообщают мне, как получить удаленный доступ к сайту Sharepoint, но ни один из них, похоже, не объясняет, не говоря уже о том, чтобы ответить на то, что я испытываю.

  1. Я создал простое консольное приложение C #

  2. В приложении, на которое я ссылаюсь: Microsoft.Sharepoint , Microsoft.Sharepoint.Client и Microsoft.Sharepoint.Client.Runtime

  3. Я могу создавать инструкции using для Microsoft.Sharepoint и Microsoft.Sharepoint.Client , но я не получаю intellisense для Microsoft.Sharepoint.Client.Runtime (я получаю только приложения, утилиты, веб-части и рабочий процесс в раскрывающемся окне) — если я набираю using Microsoft.Sharepoint.Client.Runtime , я получаю «красные закорючки» в разделе Runtime

  4. Комментируя Microsoft.Sharepoint.Client.Runtime , я затем ввожу следующий код:

     const string FORMAT = "{0}: {1}";
    string strURL = "http://<the SPS site address>";
    List<string> listFields = new List<string>();
    
    using (SPSite oSite = new SPSite(strURL))
    {
        using (SPWeb oWeb = oSite.OpenWeb())
        {
            foreach (SPList list in oWeb.Lists)
            {
                foreach (SPField field in list.Fields)
                {
                    listFields.Add(string.Format(FORMAT, list.ID, field.Title));
                }
            }
        }
    }
      

    Примечание: На данный момент в списке ошибок нет сообщений об ошибках

  5. Затем я компилирую код (перестраиваю) — В этот момент я получаю:

    1. Закорючки в обоих «Sharepoint» с использованием инструкций
    2. Пять (5) ошибок, указывающих:
      • «Sharepoint» не существует в пространстве имен «Microsoft» (вам не хватает ссылки на сборку?) 2X
      • не удалось найти ‘SPSite’ (вам не хватает директивы using или ссылки на сборку?) 2X
      • не удалось найти ‘SPWeb’ (вам не хватает директивы using или ссылки на сборку) 1X

Комментарии:

1. Можете ли вы опубликовать скриншот вашего расширенного раздела «Ссылки» из окна обозревателя решений?

Ответ №1:

Если вы не разрабатываете на компьютере с установленным SharePoint, вы не сможете использовать эти объекты SSOM.

Вы должны использовать их эквивалент CSOM.

SPSite — Сайт

SPWeb — Веб

SPList — список

Проверьте MSDN на наличие других объектов.

Вам понадобится только ссылка на Microsoft.SharePoint.Client

Вот пример из MSDN для извлечения элементов из списка:

             string siteUrl = "http://MyServer/sites/MySiteCollection";

            ClientContext clientContext = new ClientContext(siteUrl);
            SP.List oList = clientContext.Web.Lists.GetByTitle("Announcements");

            CamlQuery camlQuery = new CamlQuery();
            camlQuery.ViewXml = "<View><Query><Where><Geq><FieldRef Name='ID'/>"  
                "<Value Type='Number'>10</Value></Geq></Where></Query><RowLimit>100</RowLimit></View>";
            ListItemCollection collListItem = oList.GetItems(camlQuery);

            clientContext.Load(collListItem);

            clientContext.ExecuteQuery();

            foreach (ListItem oListItem in collListItem)
            {
                Console.WriteLine("ID: {0} nTitle: {1} nBody: {2}", oListItem.Id, oListItem["Title"], oListItem["Body"]);
            }