Parar o Visual Studio de iniciar uma nova janela do navegador ao iniciar a depuração?

340

Eu já tenho uma janela aberta no site que estou depurando. Não preciso do VS para lançar outro para mim sempre que preciso depurar.

Existe uma maneira de parar esse comportamento?

esquiador
fonte
Você tem a navegação com guias ativada? .. E você está usando o IE?
Quintin Robinson

Respostas:

415

Abra as propriedades do seu projeto de inicialização ( Projeto → Propriedades do {ProjectName} ... no menu principal ou clique com o botão direito do mouse em seu projeto no Solution Explorer e escolha Propriedades ), depois navegue até a guia Web e, em Iniciar Ação, escolha Não abrir uma página . Aguarde uma solicitação de um aplicativo externo .

Você ainda poderá usar qualquer navegador (ou o Fiddler, qualquer que seja) para acessar o aplicativo em execução, mas ele não abrirá a janela do navegador automaticamente, apenas começará em segundo plano e aguardará as solicitações.

Pawel Krakowiak
fonte
Parece uma solução muito boa, mas, assim como a de Slace, não para a execução em pontos de interrupção, diz que nenhum símbolo é carregado. Obrigado embora.
sker
9
Faz. Eu o uso para depuração o tempo todo. Você deve ter uma configuração incorreta. Verifique se a depuração está ativada no web.config e se você está executando uma compilação de depuração.
Pawel Krakowiak
11
@mjohnsonengr Eu juro que essa é uma configuração por usuário local ... Talvez você tenha o arquivo .csproj.user com check-in (não deveria).
Pawel Krakowiak 29/03
11
Portanto, é [uma configuração local]. Eu já havia assumido que todas as configurações do projeto nessa área estavam armazenadas na equipe csproj. Eu já havia tentado alterar a URL que o navegador abriria modificando "URL do projeto" e vi que ela foi alterada em .csproj. Após uma inspeção mais detalhada, agora vejo que existe uma marca de seleção "Aplicar configurações do servidor a todos os usuários" que controla apenas esse campo. Foi mal.
Mjohnsonengr 29/03
4
Para o Visual Studio no Mac, as configurações comparáveis ​​estão em "Projeto> Opções> Executar> Padrão> ASP.NET Core". Desmarque a opção "Abrir URL no navegador da web quando o aplicativo iniciar".
21817 IronRod
134

Para o VS 15.7.1 ToolsOptionsProjects and SolutionsWeb Projects→ desmarque Stop debugger when browser window is closed.

The Memebot
fonte
6
O VS 15 é o Visual Studio 2017 , BTW.
Uwe Keim
3
Isso também funciona VS 2019 Preview 4.3
KnuturO
2
A mudança sugerida não faz do que se trata a pergunta.
Anatolyevich
11
Funciona bem no VS2019 (16.4.4)
Rory McCrossan
75

Resposta atualizada para um projeto .NET Core Web Api ...

Clique com o botão direito do mouse em seu projeto, selecione "Propriedades", vá para "Depurar" e desmarque a caixa de seleção "Iniciar navegador" (ativada por padrão).

insira a descrição da imagem aqui

Greg R Taylor
fonte
11
@ Grey Onde esta opção "Launch Browser" está presente?
Ayush Singhania
Atualizei a resposta: Você precisa acessar as propriedades do seu projeto para obter a opção.
CennoxX 12/06/19
44

Em um projeto do ASP.Net 5, agora isso pode ser definido para cada perfil de inicialização.

Abra o arquivo launchsettings.json na pasta Propriedades do projeto de inicialização e adicione "launchBrowser": falseao perfil que você está configurando, como em:

"profiles": {
    "IIS Express": {
      "commandName": "IISExpress",
      "launchBrowser": false,
      "environmentVariables": {
        "Hosting:Environment": "Development"
      }
    }
}
João Costa
fonte
13

Esta solução alternativa funciona para mim no VS 2019

Ferramentas => Opções

Em seguida, digite Projects and solutionsna caixa de pesquisa.

Selecione o Web Projects.

Desmarque a opção abaixo.

Pare o depurador quando a janela do navegador estiver fechada, feche o navegador quando a depuração parar.

Isso funciona para mim. Espero que isso ajude.

hackerbuddy
fonte
11
Obrigado por esta dica.
Win Man
Ele ainda abre uma nova guia sempre que inicio a depuração.
imitar
12

Você pode usar a função Anexar ao processo, em vez de pressionar F5.

Isso também pode permitir que você navegue pelas seções de trabalho conhecidas sem a desaceleração do depurador do VS carregada por baixo.

Aaron Powell
fonte
Eu tentei isso, mas não interromperá a execução quando encontrar um ponto de interrupção. Eu preciso que ele pare nos pontos de interrupção, existe uma maneira de permitir isso? Obrigado.
sker
11
desde que o seu anexado a um processo que tem carregado os mesmos conjuntos de exatas que estão no / bin / pasta da aplicação todos os pontos de interrupção irão trabalhar (oh, e desde há ficheiros.pdb!)
Aaron Powell
Pesquisei no Google como consertar isso, mas parece um monte de problemas. Não consegui fazê-lo funcionar. Enquanto isso, vou usar a solução Eu tenho o chapéu. Obrigado.
sker
Posso depurar pressionando F5 com a opção "aguardar uma solicitação de um aplicativo externo", mas não consigo fazer o Attach To Process funcionar (anexando ao INetMgr.exe). Nunca pára em um ponto de interrupção. Eu estava usando o VSCommands no VS 2013, mas a nova versão de 2015 do VSCommands ainda não suporta "Attach to IIS". Gostaria de saber qual era o problema.
ErikE
12

Resolvi meu problema seguindo as etapas abaixo. Vá para Ferramentas >> Clique em opções >> clique em projetos e soluções >> projetos web >> desmarque a opção "Interromper a depuração quando o navegador estiver fechado"insira a descrição da imagem aqui

DKR
fonte
A melhor solução, ajudou para o meu projeto núcleo .net
V319
resposta subestimada
Bimal Das 14/02
9

Quando você abre um projeto da web / aplicativo pela primeira vez, execute um Ctrl- F5, que é o atalho para iniciar o aplicativo sem depuração. Então, quando você clicar F5e iniciar o depurador posteriormente , ele usará a instância do IE. Em seguida, pare e inicie a depuração no Visual Studio em vez de fechar o IE.

Funciona nas minhas máquinas. Estou usando o servidor da web de desenvolvimento. Não sei se isso faz diferença.

O Firefox também permanecerá aberto para que você possa depurar um ou os dois ao mesmo tempo.

Rex Miller
fonte
Ei, isso funciona! Muito obrigado. Agora posso evitar cerca de 100 janelas extras por sessão de codificação. Além disso, quando clico em F5 VS, redimensiona minha janela do IE. Você sabe como posso evitar isso?
sker
Desculpe sker, eu não sei a resposta para isso - isso não acontece comigo fazendo o que precede, então provavelmente há uma resposta em algum lugar. Talvez o IE esteja se lembrando do tamanho da janela e não esteja relacionado ao cenário de depuração?
Rex Miller
7

Parece haver um caso em que nenhuma das opções acima, mas a seguir, ajuda. Estou desenvolvendo um projeto para a plataforma em nuvem do Windows Azure e tenho uma função na web. De fato, existe um botão de opção Não abrir página nas propriedades Projeto -> {Nome do projeto} ... como apontado por Pawel Krakowiak, mas não tem nenhum efeito no meu caso. No entanto, existe o principal projeto de nuvem no Solution Explorer e a pasta Roles . Se clicar com o botão direito do mouse na minha função da web nesta pasta e escolher Propriedades , recebo outro conjunto de configurações e, na guia Configuração, existe o sinalizador Iniciar navegador para , depois de desmarcá-lo, uma nova janela do navegador não é aberta na inicialização do aplicativo.

stepank
fonte
6

Como eu não tinha a opção mencionada no meu VS, que é o Visual Studio Enterprise 2017, tive que procurar outra opção.

Aqui está o que eu encontrei:

Vá para Ferramentas -> Opções -> guia Depuração (Geral) e desmarque a opção "Ativar depuração de JavaScript para Asp.Net (Chrome e IE).

insira a descrição da imagem aqui

Alexa Adrian
fonte
Ainda válido para 2019, obrigado.
Emanuel
5

A resposta de João Costa também se aplica aos projetos .Net core 2.

launchsettings.json -> "launchBrowser": false

"profiles": {
    "IIS Express": {
      "commandName": "IISExpress",
      "launchBrowser": false,
      "environmentVariables": {
        "Hosting:Environment": "Development"
      }
    }
}
chri3g91
fonte
11
Isso foi super útil. Vale ressaltar que este launchSettings.json está oculto em Propriedades "Pasta" em "
Gerenciador de
2

Examinei as respostas e não vi a solução que encontrei mencionada. Se fosse, minhas desculpas. No meu caso, atualmente usando o Visual Studio 2015. No gerenciador de soluções, clique com o botão direito do mouse no arquivo Projeto e clique em Propriedades. Vá para a guia Debug e deve ter informações sobre como iniciar o "IIS Express ou Web (DNX)" nas duas primeiras listas suspensas e, em seguida, deve haver uma caixa de seleção para "Iniciar URL:". Desmarque esta opção e seu navegador não será iniciado automaticamente sempre que você for depurar seu aplicativo. Espero que isso ajude alguém.

Cody Gaut
fonte
2

Embora existam várias respostas excelentes, variando de suspeitos comuns a soluções mais recentes , gostaria de fornecer mais uma à discussão que aborda o que você deve fazer quando estiver trabalhando em uma solução com vários projetos .

Antes de chegar a essa solução, continuei procurando no bindingInformationapplicationhost.config da solução, procurando incansavelmente qualquer indício de por que as coisas simplesmente não estavam funcionando.

Acontece que o simples coisa mais que eu ignorei foi que projetos diferentes também têm configurações individuais.

Então, além Project > {Project-Name} Properties... > Web > Start Actiondo meu projeto de back-end, eu também tive que ir Website > Start Options... > Start Actionno meu projeto de front-end. Uma vez lá, eu selecionei Don't open a page. Wait for a request from an external applicatione tenho sido feliz desde então!

Configurações de back-end Configurações de front-end

Siddhant Rimal
fonte
2

Você pode clicar com o botão direito do mouse no seu projeto e escolher Properties, na Debugguia você deve desmarcar a launch browsercaixa de seleção.

Siavash
fonte
0

Agora você também pode acessar as propriedades da Web clicando na seta suspensa ao lado do botão Executar!

  1. Clique no botão suspenso ao lado de "Executar"
  2. Propriedades do {nome do projeto}
  3. Clique em "Web" na lista à esquerda
  4. No segmento "Iniciar ação", clique em Não abrir uma página.

Está tudo pronto!

PS: Isso funciona para mim, estou na versão 16.5.5 do VS Professional 2019 :)

Lukas Klein Haneveld
fonte