当我点击“Start Without Debugging”(Ctrl-F5)时,如何阻止我的Visual Studio启动IE8 TWICE?

时间:2009-06-19 13:03:07

标签: visual-studio-2008 internet-explorer-8

我主要使用Visual Studio 2008进行Web开发,自从我在工作PC上升级到IE8以来,似乎有一种令人讨厌的行为:

当我为网站或Web应用程序项目设置启动页面,然后单击工具栏中的“启动而不调试”图标或使用键盘快捷键CTRL-F5时,Visual Studio将继续启动IE8(我的默认设置)网页浏览器),但是两次

IE8打开的第一个新窗口有一个标签“正在连接...”,它会加载about:空白页面。然后,另一个新的IE8窗口打开,同时显示“正在连接...”选项卡,并加载我在项目中设置的起始页面。

非常令人烦恼。有没有人有任何想法可能导致这种情况以及如何解决它?

在有人建议之前,我已经已经通过将Firefox作为我的默认浏览器来解决这个问题了一段时间;-)但是,我想在IE8中使用Visual Studio的javascript调试功能所以现在再次想要IE8作为我的默认值。

<小时/> 其他信息:

使用Process Explorer,我可以看到两个 iexplore.exe 进程都是由同一个父进程Visual Studio 2008的 devenv.exe 启动的。

第一个iexplore.exe进程具有以下命令行:

"C:\Program Files\Internet Explorer\IEXPLORE.EXE" -noframemerging -debug about:blank

几秒钟后启动的第二个iexplore.exe进程具有以下命令行:

"C:\Program Files\Internet Explorer\IEXPLORE.EXE" -noframemerging -suspended -debug http://localhost/test/index.html

然后,我也尝试过Process Monitor。在日志中,我可以在“C:\ Program Files \ Internet Explorer \ IEXPLORE.EXE”上的devenv.exe中看到两个不同的“Process Create”事件......相隔几秒钟。

有趣的是,如果我使用Visual Studio 2005(而不是2008)尝试完全相同的事情(无需调试启动),我只会看到一个进程 使用命令行创建:

"C:\Program Files\Internet Explorer\IEXPLORE.EXE" about:blank

使用2005年,在视觉上看起来好像是:空白首先被加载,然后URL被同一个标签中的相同浏览器进程加载:空白,覆盖它。

另外一件事我注意到不同:在VS2005 Process Monitor日志中,它显示了很多文件“C:\ WINDOWS \ system32 \ ieframe.dll”的读取,但VS2008进程中没有显示监控日志。 (ieframe.dll包含与Internet Explorer相关的某些COM对象的类型库。)因此,VS2005启动和控制IE的方式可能与VS2008不同。

AND LAST ,这很奇怪:在VS2008中,如果我点击“Start Without Debugging”,我会得到两个窗口。但是,如果在解决方案资源管理器中我改为右键单击我的网站项目或其中的任何HTML文件并选择“在浏览器中查看”,我只得到单个窗口。为什么“开始不调试”和“在浏览器中查看”之间存在差异?

8 个答案:

答案 0 :(得分:2)

嗯...非常奇怪。如果你使用SysInternal的进程监视器,你能看到第一个IE窗口是否被第一个IE窗口启动,或者Visual Studio是否同时拥有它们?这可能有助于确定问题所在。

除此之外,接下来要尝试的是禁用大多数浏览器插件,看看是否会产生影响。最后,尝试使用工具/ Internet选项/安全性为Intranet和受信任的站点区域启用保护模式。

答案 1 :(得分:1)

感谢您指点我的附加组件。这种行为确实非常烦人。在我的计算机上,只有当禁用Windows Live Toolbar插件时才会消失 - 然后才会消失。启用相同的加载项,问题将重新出现!

答案 2 :(得分:1)

答案 3 :(得分:1)

很抱歉重复的答案,但禁用Live工具栏对我来说真的很好,我想从sjerp得到答案,但由于我缺乏声望,我认为重复它是值得的。

答案 4 :(得分:1)

使用IE8和Microsoft Visual Web Developer 2008 Express Edition时禁用Live工具栏 如果你得到两个浏览器实例确实是正确的

答案 5 :(得分:0)

这可能与IE的“保护模式”有关。尝试将其关闭。您可以双击状态栏中的“受保护模式”文本来执行此操作。

我遇到了同样的问题而且太烦人了!

答案 6 :(得分:0)

听起来好像Visual Studio正在使用旧行为。

具体来说,似乎Visual Studio正在加载:空白以使浏览器打开,然后通过另一次调用可执行文件来加载页面。

尝试以下更改: 打开Internet属性 单击选项卡设置 在底部附近应该有一个部分显示“来自其他程序的开放链接:” 在该部分中选择当前选项卡或窗口

答案 7 :(得分:0)

我们设法通过在Windows XP兼容模式(快捷方式设置)中启动VS 2005来解决此问题。