【问题标题】:Namespace SPSite , SPWeb could not be found命名空间 SPSite,SPWeb 找不到
【发布时间】:2015-10-11 05:38:54
【问题描述】:

我正在使用 sharpdevelop 编写一个程序,该程序会将项目添加到 SharePoint 网站上的预先存在的列表中。

这是我的代码:

        using System.IO;
        using Microsoft.SharePoint;
        using System;


        namespace Sampl22.cs
        {
            class Program
            {
                public static void Main(string[] args)
                {
                    using (SPSite site = new SPSite("http://community.intranet/Lists/AllItems.aspx"))
                      {
                        using (SPWeb web = site.OpenWeb())                  
                             {
                                SPList list = web.Lists["Sample Forms Data"];
                                SPListItem item = list.Items.Add();
                                item["FormName"] = "New Form";
                                item["Data"] = "Description of Task";
                                 item.Update();
                             }
                      }
                }
            }
        }

我得到的错误是:

找不到类型或命名空间名称“SPSite”(您是 缺少 using 指令或程序集引用?) (CS0246)
找不到类型或命名空间名称“SPList”(您是否缺少 使用指令还是程序集引用?) (CS0246)
类型或 找不到命名空间名称“SPListItem”(您是否缺少 使用指令还是程序集引用?) (CS0246)
类型或 找不到命名空间名称“SPWeb”(您是否缺少使用 指令还是程序集引用?)(CS0246)

在我的参考资料部分:

  • FPSRVUTL
  • FPWEC
  • Microsoft.SharePoint.BusinessData.Administration.Client
  • Microsoft.SharePoint.BusinessData.Administration.Client.Intl
  • 系统
  • System.Core
  • System.Data
  • System.Data.DataSetExtensions
  • System.Xml
  • System.Xml.Linq

应该怎么做才能消除这些错误?

【问题讨论】:

    标签: c# sharepoint


    【解决方案1】:

    SPSite 位于 Microsoft.SharePoint (Microsoft.SharePoint.dll) 中。除此之外的所有故障都是缺少参考的级联的一部分。您还应该检查您正在运行的 .NET Framework。目前大多数开发都是在 4.0 下完成的(不是客户端配置文件)

    【讨论】:

    • 谢谢格雷厄姆。我无法在我的机器上找到 Microsoft.Sharepoint.dll。此外,在阅读了一些内容后,我遇到了 sharepoint 客户端对象模型。 sharepoint 站点服务器不在我的本地计算机上,所以在这种情况下,我应该使用客户端对象模型将项目添加到列表中吗?目标框架应该是什么?
    • 你应该。 Microsoft.Sharepoint.dll 用于访问服务器端对象。如果你在做 CSOM,你应该对服务器的 API 使用 JavaScript、jQuery、Angular 等东西,并取回 JSON 或 XML 对象(无论你需要什么)。
    • 感谢 Graham。我已经编写了一些代码,现在我可以使用客户端对象模型将项目添加到列表中。
    【解决方案2】:

    正如 Graham 所说,您需要将程序集 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

    【讨论】:

    • 感谢codingo,如上所述,我想我不清楚应该使用什么,在我的情况下是客户端对象模型还是服务器对象模型。你能建议我正确的道路吗?
    • @user3436156 您在上面使用的代码是服务器对象模型。您想要 Microsoft.SharePoint.dll(确切名称)
    • @user3436156 要确定您应该使用客户端对象模型还是服务器端对象模型,您应该问自己“我的代码将在哪里执行”。如果您的程序将在服务器上运行,您可以使用服务器端对象模型。如果要在另一台机器上使用,则应使用客户端对象模型。
    猜你喜欢
    • 2015-06-20
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-02-18
    • 2012-07-14
    • 2011-03-10
    • 2017-08-13
    相关资源
    最近更新 更多