我已经搜索过它,但无法找到此问题的正确答案。以下是我在开发服务器中使用的代码。请告诉我与该问题有关的确切解决方案:

找不到[url]的Web应用程序。验证您是否正确键入URL。如果URL应为现有内容提供服务,则系统管理员可能需要将新的请求URL映射添加到预期的应用程序中。

using (SPSite _Site = new SPSite("http://demo2010a:8082/sites/Test2"))
{
    using (SPWeb _Web = _Site.OpenWeb())
    {
        foreach (SPList list in _Web.Lists)
        {
            if (count <= 4)
            {
                string listLink = "<a  href='" + list.DefaultView.Url.ToString() + "'>" + list.Title + "</a>(<b>" + list.Items.Count + "</b>)<br>";
                linksHtml += listLink;
            }
            count++;
        }

    }
}
有帮助吗?

解决方案

您是否反对X64和3.5框架?

问候,

奥斯陆的Kjetil Hovding蜡笔

其他提示

我因同样的问题而陷入困境,发现它是构建选项,我的VS Project Properites中的平台目标设置为X86。更改为任何CPU或X64来解决问题。

您的代码如何执行? webpart?特征? CLI?

还有其他一些打开网站集合的方法,例如上下文吗?

如果没有,您是否尝试过首先打开根网站集合,然后尝试您的Test2站点集合?

请检查Cenztral管理中的替代访问映射。必须配置URL。也许您使用主机标头创建了该应用程序,而AAM并不是您在代码中使用的内容。如果您将IIS网站手动sharepoint“愿意”置于似乎正确的工作状态,但是除非配置AAM,否则它只是以某种方式工作:-)

因此,检查您的AAM,看看是否 http:// demo2010a:8082 在那儿。 FQDN是不同的...等。它必须匹配。没有SSL等。精确匹配:-)

使用对象模型似乎使用URL通过HTTP访问它,但是它所做的就是向数据库进行SQL查询,以查看URL的主机部分是否是有效的AAM条目。

Ciao Marco

AAM链接:http:// <> /_admin/alternateurlcollections.aspx

PowerShell测试代码:[System.reflection.Assembly]::LoadWithPartialName(“Microsoft.SharePoint”) $site = new-object Microsoft.SharePoint.SPSite("http://demo2010a:8082/sites/Test2")

许可以下: CC-BY-SA归因
scroll top