故障现象:当你打开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上传到服务器。如果还是解决不了!检查一下iis里面的设置,是否存在这个虚拟目录和它的指向。用记事本打开.sln文件,把里面的localhost后面的虚拟目录写好,保存,然后再用vs打开。 如果还是不行,那么把web.config命名为_web.config 用vs打开项目。
你设置的虚拟目录名要和该项目原来使用的虚拟目录名一样, 或者在.csproj.webinfo文件中, 将URLPath值改成你现在使用的虚拟目录名. 
设置完了后发现,不提示刚才的问题,可是又提示说是"你试图打开的项目是web项目,需要通过指定其URL路径来打开它"

解决方案 »

  1.   

    安装,配置IIS了吗?ASP.NET Web项目要放在虚拟目录里
      

  2.   

    我的虚似目录是:d:/test/Application Development Convention/Application Development Convention/ProjectSolutionStructureSample1
    那么在要打开的这个项目的WEBINFO里面应该怎么写呢?
    它的LOCALHOST指什么?指默认主目录还是虚拟的呢?
    <VisualStudioUNCWeb>
        <Web URLPath = "http://localhost/UI/UI.csproj" />
    </VisualStudioUNCWeb>
      

  3.   

    LOCALHOST指本地服务器,你的项目不是自己建的吧?
      

  4.   

    不是.
    那要怎么去设置它的URL呢?
    ...急啊.
      

  5.   

    哈哈哈,搞定了.
    方法:
    主目录不用动.
    虚拟目录还是文件所在的位置.然后查看一下,打不开的文件在IIS中的虚拟路径,然后改它的WEBINFO为:http://loalhost/虚拟路径,就OK了.