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

9

我无法再使用Visual Studio 2010启动我的网站。

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

当我运行项目(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选项等等。

没有什么帮助,现在我卡住了,正在抓狂...

有人有什么解决方法吗?


我很想看到这个问题的答案,因为我也遇到了同样的情况。这只发生在我从IE 7更新到IE 8之后。它并不是每次调试我的Web应用程序时都会发生,但我猜大约有一半的时间会出现。非常非常恼人! - Jagd
奇怪。我刚刚收到IE11的更新,现在也遇到了这个问题。 - Marcel
好的,简单地重启机器现在解决了我的问题。 - Marcel
15个回答

5

如果你使用[CTRL]+[F5]启动而没有调试器,它能否运行?

如果可以,那么你可能是由于调试器自动附加到Web服务器而引起的问题。我建议检查你的Web项目是否启用了调试功能。当VS检测到项目未在Debug模式下构建时,通常会自动弹出警告。

这不仅仅是将项目配置切换到Release模式这么简单,因为调试器抱怨的DLL是由Asp.Net本身生成的动态生成的DLL之一。

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

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

(连同<configuration><system.web>节点中的任何其他内容。)

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

查看此msdn文章,了解有关在VS2010中调试asp.net应用程序的更多信息。

请注意,如果这是VS010 Express,则无法进行调试-如上述链接所确认的那样;但由于您说它曾经可以工作,所以我想这不是您的问题。

更新

既然那没用-你可以尝试清空临时ASP.Net文件夹。最简单的方法首先是执行。然后导航到C:\WINDOWS\Microsoft.NET\Framework\v4.0.30319\Temporary ASP.NET Files并删除其中的所有东西。我曾经遇到过问题,其中Asp.Net二进制文件没有刷新,因此当我在调试时,它会抱怨文件已过期。


@Andras Zoltan :) 已经做了那个。它也没起作用/帮助。第一次我这样做时,我不得不退出VS2010并进行iisreset(因为某些dll被锁定 - 我正在使用安装了IIS的XP),然后我删除了临时文件夹中的所有文件夹。当我再次启动VS2010并运行项目时,我仍然遇到了同样的问题。就像我之前说的,我真的很困惑,已经快把头发都拔光了:( ... - royu
@Andras Zoltan 我在x86上运行。我会尝试附加到w3wp。非常感谢你的帮助!!! - royu
@Andras Zoltan昨天和几分钟前都尝试过附加。它附加到进程,但我没有符号,当我设置断点时会出现警告(当前不会命中断点。未为此文档加载任何符号)。 - royu
1
我已经备份了这些源文件,它们仍在正常工作。我认为有一些文件已经损坏:( 但我会继续前进,虽然有些代码遗失了。所以这个问题可以视为已关闭。非常感谢你,Andras! - royu
清除临时文件通常会解决这个特定的问题和其他奇怪行为。 - trevorgk
显示剩余6条评论

4

更改查看浏览器以使用其他浏览器。运行浏览器或调试视图,然后切换回原始浏览器。此后应该就能正常工作了。


不知道为什么这个能够起作用,但我在VS2015中运行MVC应用程序时遇到了完全相同的问题。错误消息建议修复/重新安装VS。将默认浏览器更改然后再改回来对我有用-更容易的解决方案,谢谢! - user964769

1
我是这样解决的:
  1. 右键单击aspx页面
  2. 使用内置浏览器作为默认浏览器进行浏览
  3. 删除之前的默认浏览器
  4. 添加%programfiles(x86)%\internet Explorer\iexplore.exe
  5. 将此选项设置为默认

我正在得到这个,但我没有aspx页面 - 我正在使用mvc4。 - ThatAintWorking

1

我曾经遇到过同样的问题,对我来说解决方法是卸载 Avast 免费杀毒软件。使用 Avast 免费版一年多以来一直都没问题,但在一周前左右出现了问题,卸载后问题得到了解决。


1

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

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

1

对我来说解决方法是使用 127.0.0.1 替代 localhost 进行测试。一切都进行得很好。

所以问题出在主机解析名称上,要解决它,请按以下步骤进行:

  • 打开cmd,然后输入:%systemroot%\System32\drivers\etc\
  • 用记事本打开hosts文件,查找localhost行(你会发现它之前有0.0.0.0)
  • 将所有带有localhost的行中的0.0.0.0更改为127.0.0.1。

0

我在使用Visual Studio 2013时遇到了这个问题。我需要启用匿名身份验证。

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


0
当我遇到这个问题(使用IE 11)时,我注意到任务管理器中打开了大约一百次iexplore。在杀死它们之后,我能够正常打开我的项目。
从那以后,我制作了一个带有以下代码的.bat文件: taskkill /F /IM iexplore.exe /T
所以现在当我遇到那个错误时,我只需运行.bat即可。 (或者你可以从cmd中运行该代码)

0
我正在使用VS2012和一个使用VS2003编写的ASP.net应用程序... 我已经尝试了一切来使IE页面在我选择或甚至+时自动打开... 但是我没有成功... 然而,我偶然发现了一个非常糟糕的解决方法。当我选择调试并且我得到“无法启动程序...”消息框时... 我注意到在图标托盘上我会收到一条消息,说本地主机已经启动

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

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

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


0

我想分享一下我遇到的同样问题。这不是一个解决方案,但也许有人可以从我的具体经验中找到问题所在。

我已经遇到了这个问题几个星期了。(我不知道我的系统发生了什么变化。)我没有以本地管理员身份运行,因为我们在工作的电脑上不允许拥有管理员权限。

直到今天,我可以预期按下F5(开始调试)会启动一个新的本地VS Web服务器,打开一个IE窗口,然后出现一个 "无法启动程序http://localhost:nnnn/Login.aspx" 和 "访问被拒绝" 的错误弹窗。如果我关闭IE窗口,等待几秒钟,然后再次点击F5,通常从那时起它就可以正常地以调试模式启动我的Web应用。

但今天,这一切都改变了。我没有改变任何配置我的Web应用,它一直都运行得很好,但我确实在其中一个子项目中添加了几个类。此时,我永远无法通过“无法启动程序”消息。

我可以在没有调试的情况下运行我的应用,但这是毫无意义的。我甚至尝试连接到运行中(非调试)的IE进程,但也不起作用。

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

这一次,使用调试(F5)运行成功了。

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

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


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接