【问题标题】:Unable to start program 'http://localhost/Default.aspx'. VS2010无法启动程序“http://localhost/Default.aspx”。 VS2010
【发布时间】:2011-09-11 18:31:44
【问题描述】:

我无法再从 Visual Studio 2010 启动我的网站了。

有几天我无法在 Web 浏览器中使用 F5 启动我的项目。当我通过输入相同的 url 'http://localhost/Default.aspx' 直接打开我的 Web 应用程序时,一切正常。

当我运行项目 (F5) 时,一个新的网络浏览器启动,但几秒钟后它卡住了,Visual Studio 给出了一个错误对话框:


Microsoft Visual Studio

无法启动程序“http://localhost/Default.aspx”。

好的


当我在发布模式下运行项目时,它会给出一个额外的错误:


Microsoft Visual Studio

以下模块是在启用优化或没有调试信息的情况下构建的:

C:\WINDOWS\Microsoft.NET\Framework\v4.0.30319\Temporary ASP.NET Files\root\6552bec6\694bce32\assembly\dl3\8c9bd8d8\fb1d75cb_af26cc01\[名称].Presentation.DLL

要调试此模块,请将其项目构建配置更改为调试模式。要禁止显示此消息,请禁用“在启动时没有用户代码时发出警告”调试器选项。

好的


我已经修复、删除并重新安装了 Visual Studio 2010,我尝试过使用不同的浏览器(包括 Chrome 和 Firefox),使用不同的 aspnet_regiis.exe 选项等等。

没有任何帮助,是的,现在我被困在头上拔头发了……

有人知道如何解决这个问题吗?

【问题讨论】:

  • 我很想看到这个问题的答案,因为它也发生在我身上。它仅在我从 IE 7 更新到 IE 8 时开始。它不会在我每次调试我的 Web 应用程序时发生,但我猜大约有一半的时间。非常非常烦人!
  • 奇怪。我刚刚收到了 IE11 的更新,现在我也加入了。
  • 嗯,简单的重启机器就可以解决了。

标签: visual-studio-2010 debugging release


【解决方案1】:

如果你用 [CTRL]+[F5] 启动它是否可以在没有调试器的情况下运行?

如果是这样,那么您在调试器自动附加到 Web 服务器时遇到了问题。我会检查您的 Web 项目是否启用了调试 - 当 VS 检测到项目未在调试模式下构建时,通常会自动从 VS 中弹出一个警告。

这并不像将项目配置切换到 Release 那样简单,因为调试器抱怨的 DLL 是由 Asp.Net 本身发起的动态生成的 DLL 之一。

通常你应该在你的 web.config 中有:

<configuration>
  <system.web>
    <compilation debug="true" >
    </compilation
  <system.web>
<configuration>

(以及&lt;configuration&gt;&lt;system.web&gt; 节点中的任何其他内容)。

还有可能由于某种原因,Asp.Net 调试未启用。

查看this msdn article on debugging asp.net applications in VS2010了解更多信息。

请注意,如果这是 VS010 express,那么您将无法调试 - 正如上述链接所确认的那样;但既然你以前用的方式工作,那我想这不是你的问题。

更新

因为这不起作用 - 您可以尝试清空 ASP.Net 临时文件夹。首先最简单的是做一个iisreset。然后导航到C:\WINDOWS\Microsoft.NET\Framework\v4.0.30319\Temporary ASP.NET Files 并删除其中的所有内容。过去我遇到过 Asp.Net 二进制文件没有刷新的问题,所以当我调试它时,我抱怨文件已过期。

【讨论】:

  • @Andras Zoltan :) 已经这样做了。它也不起作用/帮助。我第一次这样做时,我不得不退出 VS2010 并执行 iisreset(因为一些 dll 被锁定 - 我正在使用安装了 IIS 的 XP 工作),之后我删除了临时文件夹中的所有文件夹。当我再次启动VS2010并运行项目时,我仍然遇到同样的问题。正如我之前所说,我真的被卡住了,把头发从头上拔了出来:( ...
  • @royu - 你能附加到 w3wp 吗?您是否正在运行 x64,如果是,您是否启用了 32 位进程?如果是这样,您可能需要禁用它?我必须承认我现在也快到极限了!
  • @Andras Zoltan 我在 x86 上运行。我将尝试附加到 w3wp。非常感谢您的帮助!!!
  • @Andras Zoltan 昨天和几分钟前尝试附加。它附加到进程但我没有符号,当我设置断点时它会发出警告(断点当前不会被命中。没有为此文档加载任何符号。)。
  • 我进行了备份,这些来源工作正常。我认为某些文件已损坏 :( 我将从这里继续,一些代码丢失了,就这样吧。所以这个问题可以被视为 已关闭。非常感谢 Andras!
【解决方案2】:

Change the View Browser 到另一个浏览器。在浏览器中运行视图或调试,然后更改回原始浏览器应该可以工作。

【讨论】:

  • 不知道为什么会这样,但是在 VS2015 中运行 MVC 应用程序时遇到了完全相同的问题。错误消息建议修复/重新安装 VS。更改默认浏览器然后改回对我有用 - 更简单的解决方案谢谢!
【解决方案3】:

遇到同样的问题,我的答案是删除 Avast Free AV。大约一周前,使用 avast free 一年前一切正常,卸载它解决了问题。

【讨论】:

    【解决方案4】:

    我在使用 Visual Studio 2008 时遇到了这个确切的问题。解决方案是将 VS 使用的默认 Web 浏览器设置为真正的浏览器(例如 IE),而不是“内部 Web 浏览器”。

    1. 右键单击项目中的 ASPX 文件并选择“Browser With...”。这使您可以在选择“在浏览器中查看”选项以及调试/运行应用程序时选择要使用的默认浏览器(这是关键)。
    2. 选择您喜欢的浏览器(即“Internet Explorer”)并单击“设为默认值”。不要选择“内部网​​络浏览器”。
    3. 调试!您的应用现在应该会出现在您的浏览器中并正常调试。

    【讨论】:

      【解决方案5】:

      我的解决方案是用 127.0.0.1 代替 localhost 进行测试。一切顺利。

      所以问题来自主机解析名称,要解决它,请继续:

      • 打开 cmd 然后磁带:%systemroot%\System32\drivers\etc\
      • 用记事本打开hosts文件,查找localhost ligne(你会发现0.0.0.0)
      • 将 0.0.0.0 更改为 127.0.0.1 与 localhost 完全一致。

      【讨论】:

        【解决方案6】:

        我是这样解决的:

        1. 右键单击一个aspx页面
        2. 将内部浏览器设置为默认浏览器
        3. 移除之前的默认浏览器
        4. 添加%programfiles(x86)%\internet Explorer\iexplore.exe
        5. 将此选项设置为默认值

        【讨论】:

        • 我得到了这个,但我没有 aspx 页面——我正在使用 mvc4
        【解决方案7】:

        对我来说,我刚刚在项目级别上做了一个Build /ReBuild,它开始工作了!!!

        【讨论】:

          【解决方案8】:

          我遇到了同样的问题。当我调试我的代码时,它说:

          无法启动程序“C:\homework.exe”。此系统找不到指定的文件。”

          我正在使用 Microsoft Visual C++ 2010 Express,但是当我通过以下步骤创建新项目时:

          打开 C++:

          1. 按新项目
          2. 按win32
          3. 按win32控制台应用程序
          4. 重命名
          5. 点击下一步
            确保:应用程序类型是控制台应用程序
            其他选项:空项目*
          6. Ctrl+Shift+A
          7. 在 Visual C++/代码部分按C++ File (.cpp)
          8. 重命名并按添加

          它现在对我来说很好用。

          【讨论】:

            【解决方案9】:

            请设置您的页面名称,例如 Default.aspx 在 IIS 配置中恢复为父级

            【讨论】:

              【解决方案10】:

              我将分享我遇到同样问题的经验。这不是一个解决方案,但有人可以根据我的特殊经验找出问题所在。

              几周以来,我一直遇到同样的问题。 (我不知道我的系统发生了什么变化。)我确实以本地管理员身份运行,因为我们不允许在我工作的 PC 上拥有管理员权限。

              直到今天,我可以期待 F5(开始调试)启动一个新的本地 VS Web 服务器,打开一个 IE 窗口,然后发出 "unable to start program http://localhost:nnnn/Login.aspx""access is denied" 错误弹出窗口。如果我关闭 IE 窗口,等待几秒钟,然后再次单击 F5,它通常会以调试模式启动我的 Web 应用程序,从那时起就可以了。

              但今天,一切都变了。我没有更改我的 Web 应用程序上的任何配置,它一直运行良好,但我确实在我的一个子项目中添加了几个类。在这一点上,我永远无法摆脱“无法启动程序”的消息。我可以在不调试的情况下运行我的应用程序,但这毫无意义。我什至尝试附加到一个正在运行(非调试)的 IE 进程,但这不起作用。

              最后,我修改了 WebAppName >Web >Servers 屏幕中的一些属性。具体来说,我为特定 HTTP 端口(VS 一直在使用)启用了“特定端口”,并禁用了“NTLM 身份验证”。我还在调试器部分启用了“ASP.NET”。其中一些我先单击,然后取消单击,然后再次单击,在每次单击之间保存。

              这一次,使用调试 (F5) 运行有效。

              运行几次后,我通常在重新编译后第一次出现“无法启动”的错误,但在第二次或第三次尝试后,我通常仍然可以启动一个可调试的运行应用程序。至少我回到了昨天的状态。

              我怀疑它与 VS 重新加载其执行配置文件有关,也可能与权限有关(因为我无法以管理员身份运行)。

              【讨论】:

                【解决方案11】:

                我正在使用 VS2012 和一个使用 VS2003 编写的 ASP.net 应用程序...我已经尝试了所有方法来让 IE 页面在我选择 F5 时自动打开,甚至 F5 kbd>Ctrl+F5... 什么都做不了... 但是,我偶然发现了一个非常糟糕的解决方法。当我选择调试并收到“无法启动程序...”消息框时...我注意到在图标托盘上我收到一条消息说本地主机已启动

                您会注意到 msgbox 指向的图片: 好吧,如果你右键单击它,你会得到三个选项:

                当您选择第一个:“在 Web 浏览器中打开”时,它将打开 IE 并显示您正在使用的页面...

                就像我说的那样,这是一个非常糟糕的解决方法......但它确实有效。当我使用“Chrome”或页面检查器选择调试时,这不是问题......但它们有自己的问题。

                【讨论】:

                  【解决方案12】:

                  尝试为本地地址打开绕过代理。 首先,您可以转到浏览器设置-> 更改代理设置-> 连接-> 局域网设置,然后检查本地地址的绕过代理。 如果此解决方案不起作用,则还要复制以下代码,检查您的 web.config 文件以获取绕过防火墙的设置:

                  <system.net> 
                   <defaultProxy> 
                    <proxy usesystemdefault="true" proxyaddress="http://proxy:port" bypassonlocal="false" /> 
                   </defaultProxy> 
                  </system.net>
                  

                  【讨论】:

                    【解决方案13】:

                    通过在浏览器中启用脚本调试,我轻松解决了这个问题。

                    【讨论】:

                      【解决方案14】:

                      当我遇到这个问题(使用 IE 11)时,我注意到 iexplore 在任务管理器中打开了大约一百次。在杀死他们之后,我能够很好地打开我的项目。

                      从那时起,我使用以下代码制作了一个 .bat 文件: taskkill /F /IM iexplore.exe /T

                      所以现在我在收到该错误时运行 .bat。 (或者,您可以从 cmd 运行该代码)

                      【讨论】:

                        【解决方案15】:

                        我刚刚在 Visual Studio 2013 中遇到了这个问题。我必须启用匿名身份验证。

                        在解决方案资源管理器中单击项目节点。 按 F4 显示属性窗口。 将 匿名身份验证 选项更改为已启用。

                        【讨论】:

                          猜你喜欢
                          • 1970-01-01
                          • 2019-02-21
                          • 1970-01-01
                          • 1970-01-01
                          • 1970-01-01
                          • 2019-11-04
                          • 1970-01-01
                          • 1970-01-01
                          • 2012-05-02
                          相关资源
                          最近更新 更多