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

时间:2011-01-24 21:25:45

标签: c# .net sharepoint-2010

当我尝试执行此代码时:

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

它会抛出以下错误:

  

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

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

14 个答案:

答案 0 :(得分:13)

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

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

答案 1 :(得分:13)

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

答案 2 :(得分:3)

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

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

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

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

我还没弄清楚原因。

答案 3 :(得分:2)

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

答案 4 :(得分:2)

就我而言,我重新打开以管理员身份运行的Visual Studio 2012,问题就解决了。

答案 5 :(得分:1)

如果用户的帐户已经是WSS_ADMIN_WPG的成员,问题仍然存在,正如蒂姆所说。

请尝试以下步骤:

  1. 转到“项目属性”
  2. 构建标签
  3. 从下拉列表中将平台目标值更改为Any CPU
  4. 它解决了我们的控制台应用程序的问题。

答案 6 :(得分:1)

Add-SPShellAdmin -UserName domain\username为我做了诀窍。 documentation表示它仅将用户添加到服务器场配置数据库中的 SharePoint_Shell_Access 角色,并确保将用户添加到每个 WSS_Admin_WPG 本地组中服务器在农场。

答案 7 :(得分:0)

答案 8 :(得分:0)

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

答案 9 :(得分:0)

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

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

答案 10 :(得分:0)

就我而言,我需要将用户 db_owner 权限添加到 SharePoint_Config SharePoint_AdminContent WSS_Content 数据库,遵循this blog中的建议。

答案 11 :(得分:0)

我知道这是一个陈旧且经过回答的帖子,但以上都没有对我有用,这就是为了将来参考的内容:

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

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

参考:

Common issue: new SPSite API call returns "The Web application at http://server:port/ could not be found."

答案 12 :(得分:0)

将我的代码作为“ exe”文件运行时出现了相同的问题。通过以管理员身份运行cmd解决了问题。希望这对某人有帮助。

答案 13 :(得分:0)

我知道已经很久了,但是就我而言,我必须做两件事:

  1. 允许访问config db,用户可以通过编程方式打开SPSite对象
Add-SPShellAdmin -username [domain]\[username]
  1. 允许访问内容数据库,用户可以通过编程方式打开SPWeb对象
Add-SPShellAdmin -username [domain]\[username] -database [content db guid]

通过运行Get-SPContentDatabase -webapplication [web application url]

,可以获取内容数据库的Guid。

您可以在这里找到TimoPitkäranta的原始答案:https://blog.stefan-gossner.com/2011/09/18/common-issue-new-spsite-api-call-returns-the-web-application-at-httpserverport-could-not-be-found/