我正在使用 VS 2010 和 IIS 5 的 XP (SP3) 机器上进行开发。
我有同一个网站的两个版本。我们已经发布了我们的第一个生产版本,所以我将代码分叉到一个新的目录树中,并在 IIS 中设置新的虚拟目录以指向新的树。这些项目设置为在 IIS 而不是 VS 的服务器中运行。主站点是一个基于 MVC 2 的项目。
我的问题是,当我在 Visual Studio 2010 中按 F5 开始调试新版本时,我收到“无法在 Web 服务器上开始调试。Web 服务器找不到请求的资源”。我昨天大部分时间都在试图弄清楚它正在寻找什么资源却找不到。这发生在它到达“应用程序启动”之前。我终于想到查看 Web 日志,发现每次按 F5 键时,Web 日志都会显示对 /debugattach.aspx 的 DEBUG 请求,返回码为 404(未找到)。如果我在旧版本上运行相同的序列,它会显示相同的内容,但首先使用 401 代码,然后请求以 200 代码重复。
我的第一个想法是VS必须写出一个“debugattach.aspx”文件,然后调用它,也许它没有对该目录的写权限,但据我所知,它确实如此。
我用谷歌搜索了 debugattach.aspx,返回的文章的前几页似乎都提到了锁定和超时,主要是在 IIS 7 和 VS 2005 上。似乎没有任何东西适用于这种情况。
查看有效的旧版本和无效的新版本之间的区别,唯一的事情是虚拟目录的 IIS 设置和代码本身的 web.config。但是我并排浏览了这两个站点,找不到任何可以解释这种行为的差异。
有人知道他们可以与我分享的线索吗?或者任何人都可以向我指出任何关于 debugattach.aspx 到底是什么/做什么、DEBUG HTTP 请求做什么和/或 VS 如何使用它们的文档?
提前致谢。