У меня Firefox в качестве браузера по умолчанию на моем компьютере разработчика, и когда я начинаю отладку из Visual Studio, Firefox запускается, как я и ожидал, и все атрибуты опыта такие же, как у IE, за исключением одного - когда я закрываю браузер. Когда я использую IE, когда я закрываю браузер, Visual Studio автоматически закрывает отладчик. Когда я закрываю FF, я не получаю такого поведения - кто-нибудь знает, как это сделать?





Попробуйте вместо этого подключить отладчик к процессу FireFox!
В VS (2008) выберите пункт меню «Отладка» -> «Присоединить к процессу», а затем выберите firefox.exe - если вы не видите этот процесс, вам, возможно, придется убедиться, что установлен флажок «Показывать процессы во всех сеансах».
Я запустил это и убедился, что он работает. Я также подтвердил, что закрытие FireFox через отладку приложения не работает, если Firefox установлен в качестве браузера по умолчанию в VS 2008.
Я не знаю, как ты думаешь, что он делает? Я запустил его в обоих направлениях, и если вы подключите отладчик через «ПРИСОЕДИНЯЙТЕСЬ К ПРОЦЕССУ» в меню отладки в Visual Studio, это действительно сработает. Если вы настроили браузер по умолчанию как Firefox, через настройки он не работает. Используйте "прикрепить к процессу", это работает ....
Подумайте об этом внимательно ... Если вы подключаете его к процессу firefox, какой код отлаживается? Обычно, когда речь идет об отладке в Visual Studio и веб-браузере, речь идет об отладке веб-приложения.
Щелкните правой кнопкой мыши любую страницу .aspx и выберите опцию «Обзор с ...», там вы можете установить браузер по умолчанию.
Причина такого поведения очень проста: Visual Studio подключается к отлаживаемому процессу и выйдет из режима выполнения, если увидит, что этот процесс завершается. FireFox не создает новый процесс каждый раз при запуске окна: он повторно использует существующий процесс. IE может создавать новый для каждого окна (в зависимости от настроек опции). Если у вас уже запущен FF и вы запускаете приложение для отладки, окно приложения создается в существующем процессе, и VS присоединяется к этому процессу. Когда вы закрываете окно приложения, процесс не завершается, потому что он все еще активен для уже существующих окон. В следующий раз, когда это произойдет, закройте все остальные окна FF, и вы увидите, что Visual Studio выходит из режима отладки. Если бы существовал способ сообщить FireFox о необходимости создания нового процесса для нового окна, эта проблема исчезла бы. Я не нашел достаточно надежного способа сделать это.
Я испытал, что при отладке приложения с помощью VS 2008 он открывает новое окно FF каждый раз, когда нажимается F5 (начинается отладка). Интересно, может ли он использовать существующее открытое окно FF для отладки.
@Mark - я начинаю отладку, когда Firefox вообще не работает (проверено в диспетчере задач). Начните отладку, и Firefox запустится. Убейте Firefox (опять же, проверено в диспетчере задач), и отладчик не остановится.
Чтобы добавить к ответу Метки, вы можете настроить определенный профиль «отладки» для firefox, а затем изменить свойства проекта / Web, выбрать там «запустить внешнюю программу» и перейти к firefox.exe и установить аргументы командной строки на '-no- удаленный -P "MyDebugProfile" '.
Чтобы управлять своими профилями, запустите (из командной строки) firefox следующим образом:
c:\> <installation path of ff>\firefox.exe -profilemanager
Там вы создаете новый профиль (скажем, «отладка»).
Чтобы начать новый процесс FF с этим профилем (т.е. тем, что вы установили для VS):
c:\> <install path to ff>\firefox.exe -no-remote -P "debug" "http://mysite"
Обратите внимание, что параметр «-P» чувствителен к регистру.
на вкладке "Свойства / Интернет" проекта для параметра "Действие при запуске" установлено значение "Запустить внешнюю программу" и он указывает на firefox.exe (FF 3.5), в поле "Аргументы командной строки" я написал (без скобок): [-no- удаленный -P "отладка"]. «отладка» - это профиль, ранее созданный в FF с использованием аргумента -profilemanager. Когда я отлаживаю проект, он запускает FF, как всегда (FF - мой браузер по умолчанию), и, как всегда, если я закрою FF, VS продолжит отладку, точно так же, как если бы я остановил отладку, FF оставался открытым. . Обс .: отправьте свой ответ на мой вопрос, чтобы я принял его.
@Tofu: пожалуйста, проверьте с помощью диспетчера задач, сколько (и какие аргументы командной строки) экземпляров FF у вас есть во время отладки. Вы можете проверить перед запуском отладчика, во время отладки и после остановки. Это покажет, запускает ли VS новый процесс и правильно ли он его обрабатывает.
Это работает ОТЛИЧНО, и Санни - это Бог :) Я не могу больше подчеркнуть свой энтузиазм, так как у меня всегда была эта проблема. +1, конечно. Чтобы немного помочь, определите конкретный порт сервера разработки (например, 51336) в свойствах проекта / Web, чтобы аргументы командной строки выглядели так: -no-remote -P "debug" "локальный: 51336"
Я не думаю, что это происходит так, как вы думаете.