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应用程序模式不同。



















本文转自terryli51CTO博客,原文链接:http://blog.51cto.com/terryli/589130 ,如需转载请自行联系原作者



上一篇:特斯拉和SolarCity合并交易获两家公司股东投票通过


下一篇:提示符被覆盖的问题,PS1-PS4_学习笔记