Sharepoint 2010与SPSite构造函数的FileNotFound异常

时间:2010-09-23 02:27:50

标签: sharepoint sharepoint-2010

我尝试在控制台应用程序中在场服务器上实例化SPSite实例,并在参数中提供整个网站(http://sp2010/)。我还确保运行MyApp.exe的帐户是网站集管理员。

然而,无论我想做什么,我都无法制作SPSite的实例。我总是回复“FileNotFoundException”。

有人有个主意吗?

堆栈跟踪:

  

System.IO.FileNotFoundException:找不到http://localhost/sandbox处的Web应用程序。验证您是否正确输入了URL。如果URL应该为现有内容提供服务,则系统管理员可能需要将新请求URL映射添加到预期应用程序。 at Microsoft.SharePoint.SPSite..ctor(SPFarm farm,Uri requestUri,Boolean contextSite,SPUserToken userToken),位于Conchango.xyzzy.GetExistingDocument的Microsoft.SharePoint.SPSite..ctor(String requestUrl)(String minId,String maxId,String titleFilter) )在C:\ Documents and Settings \ Paul \ My Documents \ Visual Studio 2005 \ Projects \ xyzzy \ BDC_DocReview \ BDC_DocReview \ DocReviewFacade.asmx.cs:第69行

当我使用App Pool Identity帐户运行此应用程序时,它可以正常工作。但是,当我使用另一个网站集管理员用户运行此控制台应用程序时,Farm Admin对Sharepoint Web应用程序的内容数据库具有dbowner权限..它不能正常工作,并且给我这个Filenot Founf异常。

Console应用程序使用.Net Framework 3.5和x64作为CPU平台。 如果我使用应用程序池身份帐户,但无法使用任何其他帐户

,这又有效

6 个答案:

答案 0 :(得分:4)

运行控制台应用程序的用户至少需要具有对SharePoint数据库的读取权限,否则您将看到此类错误

答案 1 :(得分:4)

我遇到了这个问题并通过将“Build”属性页面上的“Platform target:”选项更改为“Any CPU”来解决了我的控制台应用程序。

答案 2 :(得分:2)

您使用的.NET框架与SharePoint 2010 Server不匹配,例如应用了.NET 4.5,将抛出异常,更改为.NET 3.5,修复您的问题。

答案 3 :(得分:1)

如果您使用 MSTest ,请确保 Test Runner 与您使用的平台相匹配。请参阅this SO post regarding targeting MSTest for your current platform

答案 4 :(得分:0)

我必须使用Windows Forms测试应用程序.NET 3.5而不是.NET 4.5。

答案 5 :(得分:0)

SP 2010仅适用于x64模式。因此,将项目平台目标更改为x64。 如果您的服务已在IIS中运行,请确保您的应用程序池具有属性Enable 32位应用程序设置为false。