Ответы:
Откройте свойства вашего запускаемого проекта ( Project → {ProjectName} Properties ... в главном меню или щелкните правой кнопкой мыши ваш проект в обозревателе решений и выберите Properties ), затем перейдите на вкладку Web и в разделе Start Action выберите Не открывать страницу , Дождитесь запроса от внешнего приложения .
Вы по-прежнему сможете использовать любой браузер (или Fiddler, любой другой) для доступа к запущенному приложению, но оно не откроет окно браузера автоматически, оно просто запустится в фоновом режиме и будет ждать любых запросов.
Для VS 15.7.1 Tools→ Options→ Projects and Solutions→ Web Projects→ снять отметку Stop debugger when browser window is closed.
Обновленный ответ для проекта .NET Core Web Api ...
Щелкните правой кнопкой мыши свой проект, выберите «Свойства», перейдите к «Отладка» и снимите флажок «Запустить браузер» (включен по умолчанию).
В проекте ASP.Net 5 теперь это можно установить для каждого профиля запуска.
Откройте файл launchsettings.json в папке «Свойства запускаемого проекта» и добавьте "launchBrowser": falseв настраиваемый профиль, например, в:
"profiles": {
"IIS Express": {
"commandName": "IISExpress",
"launchBrowser": false,
"environmentVariables": {
"Hosting:Environment": "Development"
}
}
}
Этот обходной путь работает для меня для VS 2019
Инструменты => Параметры
Затем введите Projects and solutions в поле поиска.
Выберите Web Projects.
Затем отмените выбор опции ниже.
Остановите отладчик, когда окно браузера закрыто, закройте браузер, когда отладка остановлена.
Это работает для меня. Надеюсь, это поможет.
Вы можете использовать функцию «Присоединить к процессу» вместо нажатия F5.
Это также может позволить вам перемещаться по известным рабочим разделам без замедления загрузки отладчика VS.
Когда вы впервые открываете проект веб / приложения, выполните Ctrl- F5, который является ярлыком для запуска приложения без отладки. Затем, когда вы впоследствии нажмете F5и запустите отладчик, он будет использовать этот экземпляр IE. Затем остановите и начните отладку в Visual Studio вместо закрытия IE.
Это работает на моих машинах. Я использую встроенный веб-сервер разработчика. Не знаю, если это имеет значение.
Firefox также останется открытым, поэтому вы можете отлаживать их одновременно или одновременно.
Кажется, есть один случай, в котором ничего из вышеперечисленного, кроме следующего, не помогает. Я занимаюсь разработкой проекта для облачной платформы Windows Azure, и у меня есть веб-роль. Действительно, есть переключатель « Не открывать страницу» в свойствах проекта -> {Имя проекта} ..., как указал Павел Краковяк, но в моем случае это никак не отразилось. Однако в обозревателе решений есть основной облачный проект, а под ним - папка Roles . Если я щелкну правой кнопкой мыши свою веб-роль в этой папке и выберу « Свойства» , я получу другой набор настроек, и на вкладке « Конфигурация » появится флаг « Запустить браузер для запуска» , после снятия флажка которого новое окно браузера не открывается при запуске приложения.
Поскольку у меня не было упомянутой опции в моей VS, то есть Visual Studio Enterprise 2017, мне пришлось искать какую-то другую опцию.
Вот что я нашел:
Перейдите в Сервис -> Параметры -> вкладка Отладка (Общие) и снимите флажок «Включить отладку JavaScript для Asp.Net (Chrome и IE).
Жоао Коста ответ также справедлив для проектов .Net Core 2.
launchsettings.json -> "launchBrowser": false
"profiles": {
"IIS Express": {
"commandName": "IISExpress",
"launchBrowser": false,
"environmentVariables": {
"Hosting:Environment": "Development"
}
}
}
Я просмотрел ответы и не увидел упомянутого решения. Если это так, мои извинения. В моем случае в настоящее время используется Visual Studio 2015. В обозревателе решений щелкните правой кнопкой мыши файл проекта и выберите Свойства. Перейдите на вкладку «Отладка», и там должна быть информация о том, как вы запускаете «IIS Express или Web (DNX)» для первых двух выпадающих меню, а затем должен быть флажок «Launch URL:». Снимите этот флажок, и ваш браузер не будет автоматически запускаться каждый раз при отладке приложения. Надеюсь, это поможет кому-то.
Хотя есть несколько отличных ответов, начиная от обычных подозреваемых и заканчивая более новыми решениями, я хотел бы предоставить еще один ответ схватке, в которой говорится о том, что вам следует делать, когда вы работаете над решением с несколькими проектами .
До того, как я пришел к этому решению, я продолжал смотреть bindingInformationв applicationhost.config решения, неутомимо ища любой намек на то, почему все просто не работает.
Оказывается, я упустил из виду простую вещь: в разных проектах тоже есть свои настройки.
Поэтому, кроме
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и был счастлив с тех пор!
CTRL+ ALT+ ENTERесли ваши возмещения только передние
Теперь вы также можете получить доступ к веб-свойствам, щелкнув стрелку раскрывающегося списка рядом с кнопкой «Выполнить»!
Вы все готово!
PS: это работает для меня, я на версии 16.5.5 VS Professional 2019 :)