2015-07-21 67 views
1

我正在使用sharpdevelop编写一个程序,该程序可以将项目添加到SharePoint网站上的预先存在的列表。命名空间SPSite,SPWeb找不到

这是我的代码:

 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.Share Point.BusinessData.Administration.Client
  • Microsoft.SharePoint.BusinessData.Administration.Client.Intl
  • 系统
  • System.Core程序
  • System.Data
  • System.Data.DataSetExtensions
  • 系统。 XML
  • System.Xml.Linq的

应该怎样才能消除这些犯错完成或?

回答

2

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

+0

谢谢格雷厄姆。我无法在我的机器上找到Microsoft.Sharepoint.dll。另外在阅读时,我遇到了Sharepoint客户端对象模型。Sharepoint站点服务器不在我的本地机器上,所以在这种情况下,我应该使用客户端对象模型将项目添加到列表中?还应该是目标框架? – user3436156

+0

你应该。 Microsoft.Sharepoint.dll用于访问服务器端对象。如果你在做CSOM,你应该使用诸如JavaScript,jQuery,Angular等对服务器的API并取回JSON或XML对象(无论你需要什么)。 – Graham

+0

感谢Graham.I编写了一些代码,现在我可以使用客户端对象模型将项目添加到列表中。 – user3436156

1

正如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

+0

感谢codingo,正如上面评论,我想我不清楚应该使用什么,客户端对象模型或服务器对象模型在我的情况。你能否建议我正确的道路? – user3436156

+0

@ user3436156上面使用的代码是服务器对象模型。您需要Microsoft.SharePoint.dll(确切名称) – Codingo

+1

@ user3436156要确定您是否应该使用客户端对象模型或服务器端对象模型,您应该问自己'我的代码将在哪里执行'。如果您的程序将在服务器上运行,则可以使用服务器端对象模型。如果它将从另一台机器使用,则应使用客户端对象模型。 –