【问题标题】:cannot find the SPSite name space找不到 SPSite 命名空间
【发布时间】:2015-06-20 10:23:08
【问题描述】:

我找不到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下面还有红线。

【问题讨论】:

  • Spsite 是 Microsoft.SharePoint 命名空间的一部分。您在顶部添加了两次对它的引用,不确定这是否会导致问题。当您尝试Microsoft.SharePoint.SPSite oSPSite = new Microsoft.SharePoint.SPSite("https://spdevserver:10002/"); 时会发生什么?
  • @Robbert 我试过了,仍然有红线说缺少参考。
  • 您是否真的在 Visual Studio 的引用部分添加了对 Microsoft.SharePoint 的引用?添加using Microsoft.SharePoint; 还不够好。
  • @Robbert 我添加了另一个屏幕截图,显示了我添加的所有引用,你能看一下吗?

标签: c# sharepoint sharepoint-clientobject


【解决方案1】:

由于SPSite class服务器 端对象模型API 的一部分,因此出现此错误:

服务器端对象模型 API只能在安装了 SharePoint Server/Foundation 的机器上使用。

由于您使用的是客户端对象模型 API(在您的项目中引用的程序集 Microsoft.SharePoint.Client.dllSharePoint 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;
    //...
}

参考文献

【讨论】:

    【解决方案2】:

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

    如果您没有找到它,请确保您是在 SharePoint 服务器上进行开发,即安装了 SharePoint,或者在您的计算机上拥有该 dll 的副本。我看到有人将 SharePoint dll 从 SharePoint 服务器复制到本地非 SharePoint 开发计算机的论坛帖子。但是,我从来没有让它发挥作用。我一直在开发服务器上安装 SharePoint 并从中运行 Visual Studio。

    【讨论】:

    • 我找不到Microsoft.SharePoint.dll。我到处看了看,但Microsoft.SharePoint.dll 不在那里。如果你能引导我到正确的位置,我会接受答案。
    • 您是否在 SharePoint 服务器上进行开发?您使用的是什么版本的 .Net? 32位还是64位?
    • 在 SharePoint 服务器上开发?我认为这可能是问题所在,但我不知道“在 SharePoint 服务器上开发”是什么意思。我在 Windows 7 桌面上使用 Visual Studio 2013。.net 4.0, 64bit
    • 您会在安装 SharePoint 服务器后碰巧知道 Microsoft.SharePoint.dll 文件位置吗?
    • 应该在 bin 文件夹中。
    【解决方案3】:

    您需要将程序集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
    

    【讨论】:

      猜你喜欢
      • 2015-10-11
      • 1970-01-01
      • 2012-07-14
      • 2011-03-10
      • 2017-08-13
      • 2019-08-31
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多