Остановить Visual Studio от запуска нового окна браузера при запуске отладки? - PullRequest
281 голосов
/ 04 апреля 2009

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

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

Ответы [ 14 ]

354 голосов
/ 04 апреля 2009

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

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

89 голосов
/ 06 июня 2018

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

29 голосов
/ 11 апреля 2016

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

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

"profiles": {
    "IIS Express": {
      "commandName": "IISExpress",
      "launchBrowser": false,
      "environmentVariables": {
        "Hosting:Environment": "Development"
      }
    }
}
21 голосов
/ 14 сентября 2017

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

Щелкните правой кнопкой мыши свой проект, выберите «Свойства», перейдите к «Отладка» и снимите флажок «Запустить браузер» (по умолчанию включен).

enter image description here

12 голосов
/ 04 апреля 2009

Вы можете использовать функцию «Присоединить к процессу» вместо нажатия F5 .

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

9 голосов
/ 04 апреля 2009

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

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

Firefox также останется открытым, поэтому вы можете отлаживать их одновременно или одновременно.

7 голосов
/ 26 августа 2013

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

3 голосов
/ 24 августа 2018

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

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

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

enter image description here

3 голосов
/ 06 мая 2018

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

launchsettings.json -> "launchBrowser": false

"profiles": {
    "IIS Express": {
      "commandName": "IISExpress",
      "launchBrowser": false,
      "environmentVariables": {
        "Hosting:Environment": "Development"
      }
    }
}
2 голосов
/ 04 декабря 2017

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

Прежде чем прийти к этому решению, я продолжал смотреть на 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 и с тех пор был счастлив!

Backend Settings Frontend Settings

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...