一直以来很多人都会被一件事所困扰,就是不管是07还是10在64位的环境,
web应用程序没有办法直接运行调试sharepoint的程序了
经常会提示这样一个错误
“找不到位于 http://localhost:80 的 Web 应用程序。请确认正确键入了此 URL。如果此 URL 需要提供现有内容,则系统管理员可能需要添加到指定应用程序的新请求 URL 映射。”
很多人很按着控制台应用程序的方法去修改为64位的生成方式,然后你会发现,还是不好使。
原因根本就不是因为64的问题。
总结了几点原因,不知道是不是对的
大家可以参考,有不对的地方,请指出。
1. vs创建的web应用程序不是利用server带的iis发布的,而是利用了他自己的iis服务器。
2. 网站的验证方式不是windows验证。
3. 由于不是一个iis服务器,所以更不可能是一个应用程序池。
总结以上几点原因后,便从iis到vs 做了一系列的调整,最后成功了。 o my gad
1. 首先在iis 上创建一个 网站,设定好端口,千万不要和别的网站重复,网站的应用程序池选为和sharepoint一个应用程序池。
2. 设置网站的验证方式为windows认证。
3. 修改已经创建好的web应用程序的属性,在web选项中,找到servers->use local iis web server
在project url 上写上http://localhost:端口号/web应用程序名称,端口号就是刚刚创建网站的端口号。不管出什么信息一路确定就可以了。
4. 运行程序,你会发现web的url能找到了,new spsite 不会报错了。
很遗憾,还没有成功,因为又出了新问题“拒绝访问。 (异常来自 HRESULT:0x80070005 (E_ACCESSDENIED))”
拒绝访问的终极解决方法就是提升权限。
SPSecurity.RunWithElevatedPrivileges(delegate()
{
});
把所有要测试的代码抱起来,ok了
在运行一下,哈。
07还没试。谁试过了可以告诉一下。