Зупинити програму Visual Studio не запускати нове вікно браузера при запуску налагодження?


340

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

Чи є спосіб зупинити таку поведінку?


Увімкнено перегляд вкладок? .. А ви використовуєте IE?
Квінтін Робінсон,

Відповіді:


415

Відкрийте властивості запуску проекту ( Проект → {ProjectName} Властивості ... у головному меню або клацніть правою кнопкою миші ваш проект у Провіднику рішень та виберіть Властивості ), потім перейдіть на вкладку Веб і в розділі Пуск дії виберіть Не відкривати сторінку . Зачекайте запиту від зовнішньої програми .

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


Це здається дійсно хорошим рішенням, але так само, як і Slace, воно не зупиняє виконання на точках прориву, говорить про те, що символи не завантажуються. Спасибі, хоча.
sker

9
Це робить. Я використовую це для налагодження весь час. У вас повинна бути неправильна конфігурація. Двічі перевірте, чи увімкнено налагодження в web.config і що ви використовуєте збірку налагодження.
Pawel Krakowiak

1
@mjohnsonengr Я клянусь, це налаштування для кожного користувача, яке є локальним ... Можливо, у вас зареєстрований файл .csproj.user (не слід).
Pawel Krakowiak

1
Отже, це [місцева установка]. Раніше я припускав, що всі параметри проекту в цій області зберігаються в команді csproj. Раніше я намагався змінити URL-адресу, яку відкриє браузер, змінивши "URL-адресу проекту" і побачив, що він змінився в .csproj. Після більш детального огляду я тепер бачу, що є галочка "Застосувати налаштування сервера до всіх користувачів", яка керує саме цим полем. Моє ліжко.
mjohnsonengr

4
Для Visual Studio на Mac порівнянні параметри знаходяться в розділі "Проект> Параметри> Виконати> За замовчуванням> ASP.NET Core". Зніміть прапорець "Відкрити URL-адресу у веб-браузері при запуску програми".
IronRod


75

Оновлена ​​відповідь для .NET Core Web Api проекту ...

Клацніть правою кнопкою миші на своєму проекті, виберіть "Властивості", перейдіть до "Налагодження" і зніміть прапорець "Запустити браузер" (включено за замовчуванням).

введіть тут опис зображення


1
@Grey Де ця опція "Запустити браузер"?
Ayush Сінгханья

Я оновив відповідь: Вам потрібно перейти до властивостей вашого проекту, щоб дістатись до опції.
CennoxX

44

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

Відкрийте файл startsettings.json у папці Властивості проекту запуску та додайте "launchBrowser": falseдо профілю, який ви налаштовуєте, наприклад у:

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

13

Це вирішення для мене працює для VS 2019

Інструменти => Параметри

Потім введіть Projects and solutionsу поле пошуку.

Виберіть Web Projects.

Потім зніміть позначку нижче.

Зупиніть налагодження, коли вікно браузера закрите, закрийте браузер, коли налагодження зупиняється.

Це працює для мене. Сподіваюсь, це допоможе.


1
Дякую за цю пораду.
Win Man

Він все одно відкриває нову вкладку кожного разу, коли я починаю налагоджувати.
імітуємо

12

Ви можете використовувати функцію Attach To Process, а не натискати F5.

Це також дозволяє вам переходити через відомі робочі секції без уповільнення відладчика VS, завантаженого під ним.


Я спробував це, але він не зупинить виконання, коли знайде точку перерви. Мені потрібно, щоб він зупинився на точках розриву, чи є спосіб це зробити? Дякую.
sker

1
за умови, що ваш доданий до процесу, який завантажив такі самі збірки, які є у / bin / папці програми, всі точки прориву будуть працювати (о, і за умови наявності .pdb файлів!)
Аарон Пауелл,

Я поглянув, як це виправити, але, здається, багато проблем. Я не міг змусити його працювати. Я тим часом буду використовувати рішення "Я маю капелюх". Дякую.
sker

Я можу виправити помилку, натиснувши F5 за допомогою параметра "чекати запиту від зовнішнього додатка", але я не можу заставити Attach To Process працювати (приєднавшись до INetMgr.exe). Ніколи не зупиняється на точці розриву. Я використовував VSCommands у VS 2013, але нова версія VSCommands 2015 ще не підтримує "Приєднати до IIS". Бажаю, я знав, в чому проблема.
ErikE

12

Я вирішив свою проблему, виконавши наступні кроки. Перейдіть до Інструменти >> Клацніть на параметри >> натисніть на проекти та рішення >> веб-проекти >> зніміть прапорець "Зупинити налагодження, коли браузер закритий"введіть тут опис зображення


Найкраще рішення, допоможене для мого основного проекту .net
V319,

занижена відповідь
Bimal Das

9

Під час першого відкриття проекту веб / додатків зробіть Ctrl- F5, що є ярликом для запуску програми без налагодження. Тоді, коли ви згодом натиснете F5та запустите налагоджувач, він використовуватиме цей екземпляр IE. Потім зупиніться і почніть налагодження у Visual Studio замість закриття IE.

Це працює на моїх машинах. Я використовую вбудований веб-сервер Dev. Не знаю, чи це має значення.

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


Гей, що працює! Дуже дякую. Тепер я можу уникати близько 100 додаткових вікон за сеанс кодування. Крім того, коли я натискаю F5 VS змінює розмір вікна IE. Чи знаєте ви, як я можу цього уникнути?
sker

Вибачте Скере, я не знаю відповіді на це - мені це не трапляється, але я, мабуть, десь відповідь. Можливо, IE запам'ятовує свій розмір вікна і це не пов’язано зі сценарієм налагодження?
Рекс Міллер

7

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


6

Оскільки в моєму VS не було згаданого варіанту, який є Visual Studio Enterprise 2017, мені довелося шукати інший варіант.

Ось що я знайшов:

Перейдіть до Інструменти -> Параметри -> вкладка налагодження (Загальне) та зніміть прапорець "Увімкнути налагодження JavaScript для Asp.Net (Chrome та IE).

введіть тут опис зображення


5

Відповідь Жоао Коста також справедлива для .Net Core 2 проектів.

launchsettings.json -> "launchBrowser": помилково

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

1
Це було дуже корисно. Варто зауважити, що цей launchSettings.json приховано під властивостями "Папка" в "Провідник рішень"
netpoetica

2

Я переглянув відповіді і не побачив згаданого нами рішення. Якщо це було, мої вибачення. У моєму випадку зараз використовується Visual Studio 2015. У провіднику рішень клацніть правою кнопкою миші файл файла та виберіть властивості. Перейдіть на вкладку «Налагодження», і там має бути інформація про те, як ви запускаєте «IIS Express або Web (DNX)» для перших двох спадів, а потім має з’явитися галочка для «Запустити URL:». Зніміть цей прапорець, і ваш веб-переглядач не буде автоматично запускатися щоразу, коли ви перейдете на налагодження програми. Сподіваюсь, це допоможе комусь вийти.


2

Хоча є декілька чудових відповідей, починаючи від звичайних підозрюваних і закінчуючи новими рішеннями, я хотів би надати ще один перемогу, яка стосується того, що вам слід зробити, коли ви працюєте над рішенням з кількома проектами .

До того, як я прийшов до цього рішення, я постійно дивився на bindingInformationapplicationhost.config рішення, невтомно шукаючи будь-які підказки, чому все просто не працює.

Виявляється, просте , що я не помітив, - це те, що різні проекти теж мають індивідуальні налаштування.

Тож, окрім Project > {Project-Name} Properties... > Web > Start Actionмого бекенд-проекту, мені також довелося їхати Website > Start Options... > Start Actionна мій проект Frontend. Потрапивши туди, я вибрав Don't open a page. Wait for a request from an external applicationі з тих пір був щасливим!

Налаштування вихідного дня Налаштування Frontend


2

Ви можете клацнути правою кнопкою миші на своєму проекті потім вибрати Properties, на Debugвкладці слід зняти launch browserпрапорець.



0

Тепер ви також можете отримати доступ до веб-ресурсів, натиснувши стрілку спадного меню біля кнопки Запустити!

  1. Натисніть кнопку, що випадає біля пункту "Виконати"
  2. {Назва проекту} Властивості
  3. Натисніть "Веб" у списку зліва
  4. У розділі "Почати дію" натисніть "Не відкривати сторінку".

Ви все готові!

PS: Це працює для мене, я перебуваю на версії 16.5.5 VS Professional 2019 :)

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.