无法启动程序'http://localhost/Default.aspx'。 VS2010

时间:2011-06-09 14:26:12

标签: visual-studio-2010 debugging release

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

几天后,我无法使用F5在Web浏览器中启动项目。当我通过输入相同的网址“http://localhost/Default.aspx”直接打开我的网络应用程序时,可以正常工作。

当我运行项目(F5)时,会启动一个新的Web浏览器,但几秒钟后它就会卡住并且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 \ [name] .Presentation.DLL

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


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

没有什么可以帮助的,是的,现在我被困在头上拉头发了......

任何人都知道如何解决这个问题?

15 个答案:

答案 0 :(得分:5)

如果用没有调试器的[CTRL] + [F5]启动它,它是否有效?

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

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

通常你应该在web.config中使用

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

(以及<configuration><system.web>个节点中的任何其他内容)。

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

查看this msdn article on debugging asp.net applications in VS2010了解详情。

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

更新

由于这没有用 - 您可以尝试清空Temporary ASP.Net文件夹。最简单的方法是iisreset。然后导航到C:\WINDOWS\Microsoft.NET\Framework\v4.0.30319\Temporary ASP.NET Files并删除其中的所有内容。我以前遇到的问题是Asp.Net二进制文件没有刷新,所以当我调试时,它会说文件已经过时了。

答案 1 :(得分:4)

Change the View Browser到另一个浏览器。在浏览器或调试中运行视图,然后在此之后更改回原始浏览器。

答案 2 :(得分:1)

有同样的问题,我的答案是删除Avast Free AV。在一周左右的时间里,avast一直工作了一年,卸载它解决了这个问题。

答案 3 :(得分:1)

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

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

答案 4 :(得分:1)

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

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

  • 打开cmd,然后打开磁带:%systemroot%\ System32 \ drivers \ etc \
  • 用记事本打开主机文件,然后查找localhost ligne(你会找到0.0.0.0)
  • 使用localhost在所有lignes上将0.0.0.0更改为127.0.0.1。

答案 5 :(得分:1)

我这样解决了:

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

答案 6 :(得分:0)

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

  

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

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

打开C ++:

  1. 按新项目
  2. 按win32
  3. 按win32控制台应用程序
  4. 重命名
  5. 点击下一步
    确保:应用程序类型为控制台应用程序
    其他选项:空项目*
  6. Ctrl + Shift + A
  7. 在Visual C ++ / Code部分中按C++ File (.cpp)
  8. 重命名并按添加
  9. 现在对我来说很好。

答案 7 :(得分:0)

对我来说,我只是在项目级别上做了Build /ReBuild并且它开始工作了!!!

答案 8 :(得分:0)

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

答案 9 :(得分:0)

我将与同样的问题分享我的经验。这不是一个解决方案,但有人可能能够从我的特定经历中找出问题。

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

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

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

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

这一次,使用debug(F5)运行。

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

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

答案 10 :(得分:0)

我使用VS2012与使用VS2003编写的ASP.net应用程序...当我选择 F5 时,我已经尝试了一切让IE页面自动打开,甚至 Ctrl + F5 ... Haven已经能够得到任何工作......但是,我偶然发现了一个非常糟糕的解决方法。当我选择调试时,我得到了“无法启动程序...”&#39; msgbox ...我注意到在图标托盘上我收到一条说本地主机已经启动的消息

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

当您选择第一个:&#39;在网络浏览器中打开&#39;时,它将使用您正在使用的页面打开IE浏览器...

就像我说的那样,这是一个非常糟糕的解决方案......但它确实有效。使用&#39; Chrome&#39;选择调试时,这不是问题。或者页面检查员......但他们有自己的问题。

答案 11 :(得分:0)

尝试为本地地址启用绕过代理。 首先,您可以转到浏览器设置 - &gt;更改代理设置 - &gt;连接 - &GT; Lan设置并只检查旁路代理以获取本地地址。 如果此解决方案不起作用,则还要复制以下代码,检查您的web.config文件以获取绕过防火墙的设置:

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

答案 12 :(得分:0)

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

答案 13 :(得分:0)

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

从那时起,我用这段代码创建了一个.bat文件: taskkill / F / IM iexplore.exe / T

所以现在我只是在遇到错误时运行.bat。 (或者你可以从cmd运行该代码)

答案 14 :(得分:0)

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

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