我发现多个网站告诉我如何远程访问Sharepoint网站,但似乎没有一个解释,更不用说回答我正在经历的问题了。
我创建了一个简单的C#控制台应用
在app中我引用:
Microsoft.Sharepoint
,
Microsoft.Sharepoint.Client
,和
Microsoft.Sharepoint.Client.Runtime
我可以为Microsoft.Sharepoint
和Microsoft.Sharepoint.Client
创建使用语句,但我没有获得Microsoft.Sharepoint.Client.Runtime
的智能感知(我只获得了应用程序,实用程序,WebParts和工作流程下拉窗口) - 如果我使用Microsoft.Sharepoint.Client.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));
}
}
}
}
注意:此时,错误列表中没有报告错误
然后我编译代码(Rebuild) - 那时我得到:
答案 0 :(得分:1)
如果您未在安装了SharePoint的计算机上进行开发,则无法使用这些SSOM对象。
你应该使用他们的CSOM等价物。
SPSite - 网站
SPWeb - Web
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"]);
}