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

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

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

13 ответов


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

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


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


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

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

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

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

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


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

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

enter image description here


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

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

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


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


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


Joao Costa ответ также верно для .Net core 2 проектов.

launchsettings.json -- > "launchBrowser":false

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

CTRL+ALT+ ENTER Если ваши поправки являются только передним концом

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


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

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

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

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

Backend Settings Frontend Settings


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

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

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

enter image description here


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