Sharepoint对象模型applicaton无法在WSS服务器外部运行

问题描述:

我在Windows Server 2003上使用Microsoft.SharePoint对象模型VS WSS扩展创建C#控制台应用程序。该应用程序应该遍历WSS3.0站点以查找所有可用列表。它在服务器上运行得很好。但是,如果我尝试从网络上的另一台计算机上运行的exe文件,应用程序崩溃,立即上的SPSite siteCollection =新的SPSite(” http://devsharepoint); 即使不执行我的try和catch不利于作为捕捉Sharepoint对象模型applicaton无法在WSS服务器外部运行

是不是打算只在安装了VS的SharePoint扩展的机器上运行SharePoint对象模型的应用程序

下面是代码:

using System; 
using System.Collections.Generic; 
using System.Linq; 
using System.Text; 

using Microsoft.SharePoint; 

namespace ConsoleApplicationWSSobjectModel 
{ 
    class Program 
    { 
     static void Main(string[] args) 
     { 
      string url = "http://sharepoint"; 
      Console.WriteLine("Trying to access: " + url); 
      try 
      { 

       SPSite siteCollection = new SPSite(url);//"http://Server_Name"); 
       SPWebCollection sites = siteCollection.AllWebs; 

       foreach (SPWeb site in sites) 
       { 
        SPListCollection lists = site.Lists; 

        Console.WriteLine("Site: " + site.Name + " Lists: " + lists.Count.ToString()); 
       } 

       Console.WriteLine("Press ENTER to continue"); 
       Console.ReadLine(); 
      } 
      catch (Exception ex) 
      { 
       Console.WriteLine(ex.Message); 
      } 

     } 
    } 
} 
+0

请勿使用'Console.WriteLine(ex.Message)'。使用'Console.WriteLine(ex.ToString())' – 2010-02-24 01:35:08

+0

你是对的,约翰,我的坏。 Val – val 2010-02-24 17:55:17

+0

Erm - 如果您只想要消息,请使用.Message;如果您希望包括堆栈跟踪在内的所有内容都使用.ToString()。大多数时候你做,但不总是。 – Ryan 2010-02-24 19:32:56

不能使用“外的SharePoint的” SP对象模型,你将不得不使用网络服务(或者如果你使用SharePoint 2010的话n使用新的客户端对象模型)

使用SharePoint对象模型构建的任何内容只能在装有SharePoint的服务器上运行。然而,不存在对VS扩展的依赖。

+0

哦,亲爱的......那么,回到网络服务,然后;-) 谢谢大家。 – val 2010-02-24 17:57:24

+0

@Val:将它标记为已回答,它将帮助有需要的人。 – Kusek 2010-02-25 06:25:22

您可以使用客户端对象模型使用C#或VB作为您的语言。添加引用Microsoft.sharepoint.client.dll和Microsoft.sharepoint.client.Runtime.dll它可以在14(SP2010)或15(SP2013)配置单元ISAPI文件夹中找到。