#c# #sharepoint #sharepoint-2010
#c# #sharepoint #sharepoint-2010
Вопрос:
Я нашел несколько сайтов, которые сообщают мне, как получить удаленный доступ к сайту Sharepoint, но ни один из них, похоже, не объясняет, не говоря уже о том, чтобы ответить на то, что я испытываю.
-
Я создал простое консольное приложение C #
-
В приложении, на которое я ссылаюсь:
Microsoft.Sharepoint
,Microsoft.Sharepoint.Client
иMicrosoft.Sharepoint.Client.Runtime
-
Я могу создавать инструкции using для
Microsoft.Sharepoint
иMicrosoft.Sharepoint.Client
, но я не получаю intellisense дляMicrosoft.Sharepoint.Client.Runtime
(я получаю только приложения, утилиты, веб-части и рабочий процесс в раскрывающемся окне) — если я набираю usingMicrosoft.Sharepoint.Client.Runtime
, я получаю «красные закорючки» в разделе Runtime -
Комментируя
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)); } } } }
Примечание: На данный момент в списке ошибок нет сообщений об ошибках
-
Затем я компилирую код (перестраиваю) — В этот момент я получаю:
- Закорючки в обоих «Sharepoint» с использованием инструкций
- Пять (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"]);
}