找不到SPSite名称空间

时间:2015-04-14 17:20:34

标签: c# sharepoint sharepoint-clientobject

我无法找到SPSite

的名称空间

到目前为止我已导入这些内容:

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Net;
using Microsoft.SharePoint;
using System.Collections;
using Microsoft.SharePoint.Client;
using Microsoft.SharePoint;
using System.Data.SqlClient;
using SP = Microsoft.SharePoint.Client;
using System.Data;


namespace GrandPermission
{
    class Program
    {
        static void Main(string[] args)
        {
            SPSite oSPSite = new SPSite("http://spdevserver:1002/");
        }
    }
}

SPSite下面还有红线。 enter image description here enter image description here

3 个答案:

答案 0 :(得分:9)

发生此错误,因为SPSite class服务器侧对象模型API的一部分:

  

服务器端对象模型 API可以在安装了SharePoint Server / Foundation的计算机上 使用。

由于您使用的是客户端对象模型API (项目Microsoft.SharePoint.Client.dll中引用的程序集是SharePoint Server 2013 Client Components SDK的一部分),我建议您使用此API。

所以,行:

SPSite oSPSite = new SPSite("http://spdevserver:1002/");  //SSOM

可以替换为:

using(var ctx = new ClientContext("http://spdevserver:1002/"))
{
    var site = ctx.Site;
    //...
}

参考

答案 1 :(得分:1)

根据您的屏幕截图,您在项目的参考中缺少对Microsoft.SharePoint的引用。您只能引用客户端DLL。

如果您没有找到它,请确保您要么在SharePoint服务器上进行开发,即安装了SharePoint,要么在您的计算机上拥有该dll的副本。我见过有人将SharePoint dll从SharePoint服务器复制到本地非SharePoint开发机器的论坛帖子。但是,我从来没有这样做过。我总是在开发服务器上安装SharePoint并从中运行Visual Studio。

答案 2 :(得分:1)

您需要将程序集Microsoft.SharePoint.dll添加到引用中才能使用它。您可以在与之合作的SharePoint服务器上找到此DLL:

SharePoint 2013,它住在:

C:\Program Files\Common Files\Microsoft Shared\Web Server Extensions\15\ISAPI

SharePoint 2010上可以找到:

C:\Program Files\Common Files\Microsoft Shared\Web Server Extensions\14\ISAPI