故障现象:
当你打开ASP.NET Web项目时,如果出现这样的错误提示:
提示窗口标题: Web访问失败
提示内容: 此项目的默认Web访问模式设置为文件共享, 但是无法从路径“...”打开“...”处的项目文件夹。返回的错误是: 无法打开Web项目“”。返回的错误是: 无法打开Web项目“...”。文件路径“...”怀URL“...”不符。这两者需要映射到相同的服务器位置。HTTP错误404: Not Found ......
处理方法:
一:建虚拟目录。
二:到“C:\Documents and Settings\你的用户名\VSWebCache\计算机名\”中, 删除与该项目同名的文件夹。
分析:
当你新建ASP.NET Web项目时,VS.NET会自动在VSWebCache中新建一个与项目同名的文件夹(如果已存在这样的文件夹,VS.NET会更新该文件夹),并在该文件夹中创建一个文件(项目名.csproj.user)和ASP.NET Web项目中所有目录的副本(副本是一个空目录,不包含任何文件)。
当你打开ASP.NET Web项目,VS.NET会读取VSWebCache中的与该项目同名的文件夹, 如果VSWebCache中的文件夹的映射路径与这个ASP.NET Web项目不同就会出现上面的错误信息。而这时只有通过删除VSWebCache中的同名文件夹,让VS.NET重新建一个才能解决问题。
小知识:
1、VSWebCache的作用是为了支持脱机开发ASP.NET Web应用程序。假如你本来在一台WEB服务器进行ASP.NET项目的开发,现在因为某些原因,只能在自己的笔记本电脑上进行脱机开发,这时你就可以利用VS.NET的WEB脱机开发功能。在自己的笔记本电脑上打开这个项目,在VS.NET中,选中“项目”=》“Web项目”=》“脱机工作”。这时, VS.NET会将所有项目文件复制到VSWebCache中。这样你就可以在脱机情况下,通过打开VSWebCache中的项目文件来进行开发。当联机时, 选中“项目”=》“Web项目”选择“同步所有文件夹”,就可以将脱机开发的内容复制到服务器中。
2、VS.NET使用FrontPage server extensionsg与Web服务器进行通信,VS.NET无法直接修改Web服务器中的文件,所以VS.NET把VSWebCache作为一个中转站, 将编辑与编译的文件先放在VSWebCache中,然后通过FrontPage server extensionsg上传到服务器。
小问题:VS.NET弹出的这个提示窗口中的信息无法通过Ctrl+C进行复制。
如果还是解决不了!
检查一下iis里面的设置,是否存在这个虚拟目录和它的指向。用记事本打开.sln文件,把里面的localhost后面的虚拟目录写好,保存,然后再用vs打开。 如果还是不行,那么把web.config命名为_web.config 用vs打开项目。
你设置的虚拟目录名要和该项目原来使用的虚拟目录名一样, 或者在.csproj.webinfo文件中, 将URLPath值改成你现在使用的虚拟目录名.