Как я могу помешать моей Visual Studio запустить IE8 ДВАЖДЫ, когда я нажимаю «Начать без отладки» (Ctrl-F5)? - PullRequest
6 голосов
/ 19 июня 2009

Я использую Visual Studio 2008 главным образом для веб-разработки, и есть одно досадное поведение, которое, по-видимому, происходило с тех пор, как я обновился до IE8 на своем рабочем ПК:

Когда я устанавливаю стартовую страницу для веб-сайта или проекта веб-приложения, а затем либо нажимаю значок «Запуск без отладки» на панели инструментов, либо использую сочетание клавиш CTRL-F5, Visual Studio продолжает запуск IE8 (по умолчанию веб-браузер), но делает это дважды :

В первом новом окне, которое открывает IE8, есть вкладка с надписью «Подключение ...», и она загружает пустую страницу about :. Затем открывается еще одно новое окно IE8 с вкладкой «Соединение ...» и загружается начальная страница, которую я установил в своем проекте.

Это очень раздражает. У кого-нибудь есть идеи, что может быть причиной и как это исправить?

Прежде, чем кто-то предложит это, у меня уже уже некоторое время обходится, используя Firefox в качестве браузера по умолчанию ;-) Но я хотел бы использовать возможности отладки JavaScript в Visual Studio с IE8 и так что пока хочу IE8 в качестве моего значения по умолчанию.

<ч /> Дополнительная информация:

Используя Process Explorer, я вижу, что оба процесса iexplore.exe были запущены одним и тем же родительским процессом, devenv.exe .

Visual Studio 2008 *.

Первый процесс 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 <a href="http://localhost/test/index.html" rel="nofollow noreferrer">http://localhost/test/index.html</a>

Затем я также попробовал Process Monitor. В журнале я вижу два отдельных события "Process Create" из devenv.exe в "C: \ Program Files \ Internet Explorer \ IEXPLORE.EXE" ... с разницей в несколько секунд.

Интересно, что если я попробую то же самое (запустить без отладки) с Visual Studio 2005 (вместо 2008), я увижу только один процесс создано с помощью командной строки:

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

В 2005 году визуально это выглядит так, как будто about: сначала загружается blank, а затем URL-адрес загружается тем же процессом браузера на той же вкладке, что и about: blank, перезаписывая его.

Еще одна вещь, которую я замечаю по-другому: в журнале монитора процессов VS2005 он показывает много чтения файла "C: \ WINDOWS \ system32 \ ieframe.dll", но то же самое не отображается в процессе VS2008. Монитор журнала. (ieframe.dll содержит библиотеку типов для некоторых COM-объектов, связанных с Internet Explorer.) Таким образом, способ запуска и управления IE в VS2005 может отличаться от того, что делает VS2008.

И ПОСЛЕДНИЙ , это странно: в VS2008, если я нажимаю «Запустить без отладки», я получаю два окна. Но если в Solution Explorer я вместо этого щелкну правой кнопкой мыши проекта моего веб-сайта или любого HTML-файла в нем и выберу "Просмотр в браузере", я получу только одно окно. Почему разница между «Запуск без отладки» и «Просмотр в браузере»?

Ответы [ 8 ]

2 голосов
/ 26 июля 2009

Хм ... очень странно. Если вы используете Process Monitor SysInternal, можете ли вы увидеть, было ли второе окно IE запущено первым, или Visual Studio принадлежит им обоим? Это может помочь точно определить, в чем проблема.

Помимо этого, следующая вещь, которую нужно попробовать, - отключить большинство аддонов браузера, чтобы увидеть, если это имеет значение. Наконец, попробуйте использовать Сервис / Свойства обозревателя / Безопасность, чтобы включить защищенный режим для зон интрасети и доверенных сайтов.

1 голос
/ 16 января 2010

Отключить панель инструментов Live при использовании IE8 и Microsoft Visual Web Developer 2008 Express Edition если вы получаете два экземпляра браузера действительно правильно

1 голос
/ 16 января 2010

Извините за дублированный ответ, но отключение панели инструментов Live действительно отлично работает для меня, я хотел повысить ответ от sjerp, но, поскольку у меня нет репутации, я подумал, что стоит повторить его.

1 голос
/ 08 декабря 2009
1 голос
/ 04 августа 2009

Спасибо, что указали мне на дополнения. Такое поведение было действительно очень раздражающим. На моем компьютере он исчезает только - и только тогда - при отключении надстройки панели инструментов Windows Live. Включите эту же надстройку, и проблема снова появится!

0 голосов
/ 26 ноября 2009

Нам удалось решить проблему, запустив VS 2005 в режиме совместимости с Windows XP (настройки ярлыков).

0 голосов
/ 29 июля 2009

Звучит так, как будто Visual Studio использует старое поведение.

В частности, кажется, что Visual Studio загружается примерно: пусто, чтобы открыть браузер, а затем загружает страницу через другой вызов исполняемого файла.

Попробуйте следующее изменение: Открыть Интернет-Свойства Нажмите вкладки Настройки Внизу должен быть раздел с надписью «Открыть ссылки из других программ в:» В этом разделе выберите текущую вкладку или окно

0 голосов
/ 28 июля 2009

Возможно, это связано с «защищенным режимом» IE. Попробуйте выключить его. Для этого дважды щелкните текст «защищенный режим» в строке состояния.

У меня была такая же проблема, и это очень раздражает!

...