Ответы:
Откройте свойства вашего запускаемого проекта ( 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 :)