SharePoint 2010没法使用外部asp.net web应用程序调试的解决办法

最近很朋友都在问这个问题。
经过外部asp.net web 应用程序测试SharePoint 2010 的API比较便捷和快速,相信不少人都碰到这个问题。运行环境是Windows Server 2008 x64位+SP2补丁,SQL Server 2008 x64+SP2补丁,Visual Studio 2010 x86,SharePoint Designr 2010 x86。
 
编译的时候会出现以下问题:
“找不到位于xxx的Web 应用程序。请确认正确键入了此 URL。若是此 URL 须要提供现有内容,则系统管理员可能须要添加到指定应用程序的新请求 URL 映射。”
 
引发错误的代码是无法实例化一个SPSite。
 
通过各类尝试测试,最终解决办法以下:
1,在 IIS7中新建一个网站HostTest,端口任意,好比20001,路径指向已经建立的asp.net web 应用程序项目的根目录
而后把网站HostTest的.NET编译中调试设置为true
而后右键HostTest->编辑权限,添加everyone用户
而后把HostTest的应用程序池设置为任意一个SharePoint 2010网站的应用程序池
2,在VS2010里面,右击asp.net web app项目->属性->分别在应用程序标签和生成标签下修改成.NET3.5框架+编译时使用X64位
右击asp.net web app项目->属性->Web->在服务器区域,选择“使用自定义Web服务器”,而后输入 http://localhost:20001或http://主机名:20001
3,测试API的代码必须使用SPSecurity.RunWithElevatedPrivileges(delegate()
            {
               });
包括起来。
 
这个问题是由于X64位系统引发的,同时SharePoint 2010的运行模式和普通的asp.net Web应用程序模式不一样。
相关文章
相关标签/搜索