Compartilhar via


Configurar Recarga Dinâmica (C#, VB, C++)

Você pode desabilitar ou habilitar Recarga Dinâmica (anteriormente chamado de Editar e Continuar) no menu Visual Studio Tools>Options no momento do design. Recarga Dinâmica funciona somente em builds de depuração. Para obter mais informações, consulte Recarga Dinâmica.

Para C++nativo, Recarga Dinâmica requer o uso da opção /INCREMENTAL. Para obter mais informações sobre os requisitos de recursos em C++, confira esta postagem no blog e Editar e Continuar (C++).

Nota

Se o IntelliTrace estiver habilitado e você coletar eventos do IntelliTrace e informações de chamada, Recarga Dinâmica será desabilitado. Para obter mais informações, consulte IntelliTrace.

Habilitar e configurar Recarga Dinâmica

Você pode configurar o Recarga Dinâmica selecionando Configurações no menu suspenso Recarga Dinâmica.

Screenshot da configuração de Recarga Dinâmica.

Ou abra o painel Ferramentas>Opções e ajuste as opções na seção Todas as Configurações>Depuração>.NET/C++ Recarga Dinâmica. As seguintes opções estão disponíveis:

  • Ativar Recarga Dinâmica: Use o recurso Recarga Dinâmica com código .NET e C++ quando o aplicativo estiver em execução com o depurador conectado (F5).

  • Aplicar alterações automaticamente ao continuar (somente nativo): O Visual Studio compila e aplica automaticamente quaisquer alterações de código pendentes quando você continua o processo a partir de um estado de interrupção. Se não estiver selecionado, você poderá optar por aplicar alterações usando o item Aplicar Alterações de Código no menu Depurar .

  • Avisar sobre o código obsoleto (somente nativo): Receba avisos sobre código obsoleto.

  • Habilitar quando não estiver depurando: Habilita Recarga Dinâmica quando seu aplicativo é executado sem o depurador anexado (Ctrl + F5).

  • Aplicar no salvamento do arquivo: Aplica alterações quando o arquivo é salvo.

  • Verborragia de registro: defina o nível de verborragia do registro quando o Recarga Dinâmica estiver habilitado: Minímo, Detalhado ou Diagnóstico.

Captura de tela das configurações para .NET C++ Recarga Dinâmica no Visual Studio.

Ou abra a caixa de diálogo Tools>Options e ajuste as opções na seção Debugging>.NET/C++ Recarga Dinâmica. As seguintes opções estão disponíveis:

  • Enable Recarga Dinâmica: Habilita o Recarga Dinâmica ao começar com o depurador anexado (F5).

  • Enable Recarga Dinâmica ao iniciar sem depuração: habilita Recarga Dinâmica ao iniciar sem o depurador anexado (Ctrl+F5).

  • Implementar Recarga Dinâmica ao Salvar o arquivo: Aplica alterações de código ao salvar o arquivo.

  • Logging Verbosity: filtra a quantidade de informações exibidas na janela de saída do Recarga Dinâmica.

Captura de tela das configurações para .NET Recarga Dinâmica.

No C++, você pode definir opções extras abrindo Ferramentas>Opções>Depuração>Geral. Verifique se Enable Recarga Dinâmica está selecionado e defina as outras opções:

  • Aplicar alterações ao continuar (somente para código nativo): O Visual Studio compila automaticamente e aplica as alterações de código pendentes feitas ao continuar o processo de um estado de interrupção. Se não estiver selecionado, você poderá optar por aplicar alterações usando o item Aplicar Alterações de Código no menu Depurar .

  • Avisar sobre o código obsoleto (somente nativo): Receba avisos sobre código obsoleto.

Para .NET Recarga Dinâmica, você também pode controlar se Recarga Dinâmica está disponível no nível do projeto modificando o arquivo launchSettings.json do projeto do .NET 6+ e definindo hotReloadEnabled para false.

Exemplo:

{
  "profiles": {
    "Console": {
      "commandName": "Project",
      "hotReloadEnabled": false
    }
  }
}

Configurar a reinicialização automática

Recarga Dinâmica pode reiniciar automaticamente o processo do aplicativo quando uma alteração sem suporte (também chamada de edição rude) é feita, em vez de encerrar toda a sessão de depuração. Para habilitar isso, edite o arquivo de projeto para adicionar a declaração de propriedade a seguir.

<PropertyGroup>
  <HotReloadAutoRestart>true</HotReloadAutoRestart>
</PropertyGroup>

Você também pode definir essa propriedade em um arquivo Directory.Build.props . A reinicialização automática funciona para tipos de projeto em que uma reinicialização rápida do processo é viável (por exemplo, alguns projetos Aspire ou Web), para que você possa continuar a depuração com interrupção mínima.

Essa é uma reinicialização baseada em processo. Por exemplo, se você estiver depurando vários projetos, somente os projetos alterados e quaisquer projetos dependentes serão recriados e reiniciados.

Configurar Recarga Dinâmica para Razor

Ao co-hospedar o compilador Razor dentro do processo roslyn, editar um arquivo .razor durante Recarga Dinâmica é mais rápido e eficiente. A cohosagem também melhora a confiabilidade geral ao usar Recarga Dinâmica.

Para habilitar o cohosting, selecione Ferramentas>Opções, e então pesquise por cohost. Selecione ou desmarque a configuração Usar o servidor Cohost roslyn para Razor (requer reinicialização). Se você habilitar essa opção, reinicie Visual Studio. A cohosting está habilitada por padrão.

Para obter informações de solução de problemas, consulte Escreva e depure o código em execução com Recarga Dinâmica em Visual Studio.

Parar alterações de código

Enquanto Recarga Dinâmica está no processo de aplicação de alterações de código, você pode interromper a operação.

Cuidado

Parar alterações de código no código gerenciado pode produzir resultados inesperados. A aplicação de alterações ao código gerenciado normalmente é um processo rápido, portanto, raramente há a necessidade de interromper as alterações de código no código gerenciado.

Para parar de aplicar alterações de código:

  • Escolha Parar de Aplicar Alterações de Código no menu Depurar.

    Este item de menu só fica visível quando as alterações de código estão sendo aplicadas.

    Se você escolher essa opção, nenhuma das alterações de código será confirmada.