Остановить Visual Studio от запуска нового окна браузера при запуске отладки?

235

У меня уже есть окно с веб-сайтом, который я отлаживаю. Мне не нужно, чтобы VS запускал еще один для меня каждый раз, когда мне нужно отлаживать.

Есть ли способ остановить это поведение?

  • 0
    Включен ли просмотр вкладок? .. И вы используете IE?
Теги:
visual-studio
browser
debugging
internet-explorer

13 ответов

309
Лучший ответ

Откройте свойства вашего запускаемого проекта (Project → {ProjectName} Properties... в главном меню или щелкните правой кнопкой мыши свой проект в обозревателе решений и выберите Properties), затем перейдите на вкладку Web и в разделе Start Action выберите Не открывать страницу, Дождитесь запроса от внешнего приложения.

Вы по-прежнему сможете использовать любой браузер (или Fiddler, любой другой) для доступа к запущенному приложению, но оно не откроет окно браузера автоматически, оно просто запустится в фоновом режиме и будет ждать любых запросов.

  • 0
    Это кажется действительно хорошим решением, но, как и у Slace, оно не останавливает выполнение в точках останова, оно говорит, что символы не загружены. Спасибо хоть.
  • 8
    Оно делает. Я использую это для отладки все время. У вас должна быть неправильная конфигурация. Дважды проверьте, что у вас включена отладка в web.config и что вы запускаете сборку Debug.
Показать ещё 8 комментариев
47

Для VS 15.7.1 ToolsOptionsProjects and SolutionsWeb Projects → снимите флажок Stop debugger when browser window is closed.

  • 2
    VS 15 - Visual Studio 2017 , кстати.
  • 0
    Это также работает VS 2019 Preview 4.3
23

В проекте ASP.Net 5 это теперь можно установить для каждого профиля запуска.

Откройте файл launchsettings.json в папке "Свойства запуска" и добавьте "launchBrowser": false в профиль, который вы настраиваете, например:

"profiles": {
    "IIS Express": {
      "commandName": "IISExpress",
      "launchBrowser": false,
      "environmentVariables": {
        "Hosting:Environment": "Development"
      }
    }
}
13

Обновленный ответ для проекта.NET Core Web Api...

Снимите флажок "Запустить браузер" (включен по умолчанию).

Изображение 5952

11

Вы можете использовать функцию Attach To Process, а не нажимать F5.

Это также позволяет вам перемещаться по известным рабочим разделам без замедления загружаемого снизу отладчика VS.

  • 0
    Я пробовал это, но он не остановит выполнение, когда найдет точку останова. Мне нужно, чтобы он остановился на контрольных точках, есть ли способ включить это? Благодарю.
  • 1
    при условии, что вы подключены к процессу, который загрузил точно такие же сборки, которые находятся в папке / bin / приложения, все точки останова будут работать (о, и при условии, что есть файлы .pdb!)
Показать ещё 2 комментария
9

При первом открытии проекта web/app сделайте Ctrl - F5, который является ярлыком для запуска приложения без отладки. Затем, когда вы впоследствии попадете в F5 и запустите отладчик, он будет использовать этот экземпляр IE. Затем закройте и запустите отладку в Visual Studio вместо закрытия IE.

Он работает на моих машинах. Я использую встроенный веб-сервер dev. Не знаю, имеет ли это значение.

Firefox также останется открытым, чтобы вы могли отлаживать одно или оба одновременно.

  • 0
    Эй, это работает! Большое спасибо. Теперь я могу избежать около 100 дополнительных окон за сеанс кодирования. Кроме того, когда я нажимаю F5 VS изменяет размер окна IE. Вы знаете, как я могу избежать этого?
  • 0
    Извините, скер, я не знаю ответа на этот вопрос - этого не происходит для меня, хотя, возможно, где-то есть ответ. Может быть, IE помнит размер своего окна, и это не связано со сценарием отладки?
7

Кажется, что есть один случай, в котором ничего из вышеперечисленного, кроме следующего, не помогает. Я разрабатываю проект для облачной платформы Windows Azure, и у меня есть веб-роль. На самом деле есть переключатель "Не открывать страницу в свойствах Project → {Project name)... как было указано Павелом Краковяком, но это не имеет никакого эффекта в моем случае. Тем не менее, в облаке решений есть основной проект облака, и под ним находится папка Roles. Если я щелкнул правой кнопкой мыши мою веб-роль в этой папке и выберите" Свойства ", у меня появится другой набор параметров, а на вкладке" Конфигурация "появится флажок" Запустить браузер для флага", после снятия флажка он не открывается при запуске приложения.

3

Поскольку у меня не было упомянутой опции в моей VS, то есть Visual Studio Enterprise 2017, мне пришлось искать какую-то другую опцию.

Вот что я нашел:

Перейдите в Инструменты → Параметры → вкладка Отладка (Общие) и снимите флажок "Включить отладку JavaScript для Asp.Net(Chrome и IE).

Изображение 5953

3

Ответ Жоао Коста также относится к.Net core 2 проектам.

launchsettings.json → "launchBrowser": false

"profiles": {
    "IIS Express": {
      "commandName": "IISExpress",
      "launchBrowser": false,
      "environmentVariables": {
        "Hosting:Environment": "Development"
      }
    }
}
2

Хотя есть несколько отличных ответов, начиная от обычных подозреваемых до новых решений, я хотел бы предоставить еще один способ борьбы с , что вы должны делать, когда работаете над решением с несколькими проектами.

Прежде чем я пришел к этому решению, я продолжал смотреть bindingInformation в applicationhost.config решения, неустанно искал намек на то, почему вещи просто не работают.

Оказывается, простая вещь, которую я упускал из виду, заключалась в том, что разные проекты также имеют индивидуальные настройки.

Итак, помимо Project > {Project-Name} Properties... > Web > Start Action в моем проекте Backend, мне также пришлось перейти к Website > Start Options... > Start Action в моем проекте Frontend. Когда-то там я выбрал Don't open a page. Wait for a request from an external application и был счастлив с тех пор!

Изображение 5954 Изображение 5955

2

Я просмотрел ответы и не видел решения, которое я нашел упомянутым. Если это так, мои извинения. В моем случае, в настоящее время используется Visual Studio 2015. В проводнике решений щелкните правой кнопкой мыши файл проекта и щелкните свойства. Перейдите на вкладку "Отладка", и у этого должна быть информация о том, как вы запускаете "IIS Express или Web (DNX)" для первых двух выпадающих списков, а затем должен быть флажок "URL запуска". Снимите этот флажок, и ваш браузер не будет автоматически запускаться каждый раз, когда вы отправляете сообщение об отладке приложения. Надеюсь, это поможет кому-то.

1

CTRL + ALT + ENTER, если ваши исправления являются только интерфейсом

http://blogs.msdn.com/b/webdev/archive/2013/06/28/browser-link-feature-in-visual-studio-preview-2013.aspx

0

Вы можете щелкнуть правой кнопкой мыши на вашем проекте, затем выбрать " Properties, на вкладке " Debug " вы должны снять флажок launch browser.

Ещё вопросы

Сообщество Overcoder
Наверх
Меню