SharePoint错误:找不到xxxx上的Web应用程序

当我尝试执行此代码时:

SPSite siteCollection = new SPSite(@"http://sp-devxxx:10000/"); 

它会抛出以下错误:

找不到http:// sp-devxxx:10000的Web应用程序。 确认您已正确键入URL。 如果URL应该为现有内容提供服务,则系统管理员可能需要将新请求URL映射添加到预期应用程序。

我可以从我的Web浏览器访问此站点,它在x64中编译,我的帐户具有对内容db的读/写访问权限,代码在运行该站点的服务器上运行,并且该站点存在访问映射。 为什么会抛出这个错误?

好吧,经过几个小时的痛苦后我终于找到了问题….

我不得不将自己添加到服务器上的WSS_ADMIN_WPG组。 希望这有助于某人。

将目标平台更改为x64,因为Sharepoint 2010仅在64位模式下运行

作为我环境中应用程序池标识的帐户已经是WSS_ADMIN_WPG的成员。 我在本地安装了我的Web服务。 使用外部域名如

 SPSite siteCollection = new SPSite(@"http://mydomain:123"); 

失败,报告与海报相同的错误(即使可以从同一台机器上的浏览器访问)。 以下工作

 SPSite siteCollection = new SPSite(@"http://localhost"); 

我还没弄清楚原因。

在使用visual studio 2012的控制台应用程序中,我将目标框架更改为3.5 ….

在我的情况下,我重新打开以管理员身份运行的Visual Studio 2012,问题解决了。

Add-SPShellAdmin -UserName domain\username为我做了诀窍。 该文档说它仅将用户添加到服务器场配置数据库中的SharePoint_Shell_Access角色,并确保将用户添加到服务器场中每台服务器上的WSS_Admin_WPG本地组。

如果用户的帐户已经是WSS_ADMIN_WPG的成员,问题仍然存在,正如Tim所提到的那样。

请尝试以下步骤:

  1. 转到项目属性
  2. 构建标签
  3. 从下拉列表中将Platform Target值更改为Any CPU

它解决了我们的控制台应用程序的问题。

尝试以Farm Admin帐户登录。 或者,将所需的SQL Server角色授予您正在使用的帐户。

我在SharePoint服务器上有一个Web API,我们将其用作从我们自己的数据库获取数据的媒介。 这个Web API试图打开网站,我收到了同样的错误。 我必须确保使用的应用程序池标识有权打开网站。

我将Web API应用程序池的标识设置为SharePointServerFarm ,这是我的SharePoint Web应用程序使用的标识。

就我而言,我需要按照此博客中的建议将用户db_owner权限添加到SharePoint_ConfigSharePoint_AdminContentWSS_Content数据库。

我知道这是一个古老而回答的post,但上面没有一个对我有用,这是为了将来的参考:

我有一个Windows窗体应用程序创建一个sharepoint 2013网站的实例,并在尝试初始化SPSite时给出上述错误,经过一些搜索我发现以下参考建议(以及其他可能的解决方案)运行时可能会发生此问题机器上的代码与运行实际站点的机器上的代码不同,是的,当我将应用程序移动到另一台机器时,它运行得很完美。

我知道这不是一个激进的解决方案,但至少你知道这个问题。

参考:

常见问题:新的SPSite API调用返回“无法找到http:// server:port /的Web应用程序”。