无法访问SPSite对象,抛出异常

时间:2015-06-04 10:48:04

标签: sharepoint-2010

   try
        {
         string targetSite = "https://abc.xyz.com/"; 
             using (SPSite scSite = new SPSite(targetSite))
             {
               lblStatus.Text = "SharePoint Connection - Success";                    
             }
         }
        catch (Exception ex)
        {
           lblStatus.Text = "SharePoint Connection - Success";
        }

尝试在Visual Studio 2012中的控制台应用程序中运行上面的代码,然后它运行正常,但如果我尝试在Web应用程序项目中运行相同,那么它将抛出异常。我正在安装SharePoint 2010的服务器上尝试此代码,并使用.NET 3.5任何线索,为什么会发生这种情况!!

System.IO.FileNotFoundException:"找不到http://abc.xyz.com处的Web应用程序。验证您是否正确输入了URL。如果URL应该为现有内容提供服务,则系统管理员可能需要将新请求URL映射添加到预期的应用程序。"

1 个答案:

答案 0 :(得分:0)

以下是此错误可能发生的最常见原因:

代码在另一台计算机上执行 - SharePoint对象模型(客户端API除外)需要在SharePoint服务器本身上运行。无法在不在代码尝试访问的同一SharePoint场内的服务器上运行应用程序。

网站集上的权限不足 - 代码在帐户的上下文中执行,该帐户对网站集没有读取权限 使用的网址不正确 - 验证网站在浏览器中是否正常工作,并仔细检查服务器在AAM设置中是否正确注册

不正确的位数 - 需要以与操作系统相同的位数执行SharePoint对象模型。这意味着如果操作系统和SharePoint安装为64位版本,则无法在32位应用程序中使用SharePoint对象模型。确保使用正确的位数编译项目(64位计算机上为64位,32位计算机上为32位)

.NET Framework版本不正确 - 确保将项目配置为使用.NET 3.5 for SharePoint 2010及更低版本以及.NET 4.0 for SharePoint 2013

Source

32位进程也不支持Microsoft SharePoint。请验证您是否在64位可执行文件中运行。 enter image description here