Observação
O acesso a essa página exige autorização. Você pode tentar entrar ou alterar diretórios.
O acesso a essa página exige autorização. Você pode tentar alterar os diretórios.
O .NET Hot Reload aplica alterações de código, incluindo alterações em folhas de estilos, a um aplicativo em execução sem reiniciar o aplicativo e sem perder o estado do aplicativo. Há suporte para recarga frequente para todos os ASP.NET Core em projetos .NET 6 ou posteriores.
Geralmente, o código atualizado é executado novamente para entrar em vigor com as seguintes condições:
- Alguma lógica de inicialização só é executada uma vez:
- Middleware, a menos que a atualização de código seja para um delegado de middleware embutido.
- Serviços configurados.
- Criação e configuração de rota, a menos que a atualização de código seja para um delegado do manipulador de rota (por exemplo,
OnInitialized).
- Em Blazor aplicativos, a estrutura dispara automaticamente o render de um Razor componente.
- Em aplicativos MVC e Razor Pages, o Hot Reload dispara uma atualização do navegador automaticamente.
- Remover um atributo de Razorparâmetro de componente não faz com que o componente seja re-renderizado. O aplicativo deve ser reiniciado.
Para obter mais informações sobre cenários com suporte, consulte alterações de código com suporte (C# e Visual Basic).
Blazor WebAssembly
Blazor WebAssembly O Hot Reload dá suporte às seguintes alterações de código:
- Novos tipos.
- Classes aninhadas.
- A maioria das alterações nos corpos de método, como adicionar, remover e editar variáveis, expressões e instruções.
- Alterações nos corpos de expressões lambda e funções locais.
- Adicionando métodos estáticos e de instância a tipos existentes.
- Adicionando campos estáticos e de instância, eventos e propriedades a tipos existentes.
- Adicionando lambdas estáticas aos métodos existentes.
- Adicionando lambdas que capturam
thisa métodos existentes que já capturavamthisanteriormente.
Observe que quando um atributo é removido que definiu anteriormente o valor de um parâmetro de componente, o componente é descartado e inicializado novamente para definir o parâmetro removido de volta ao seu valor padrão.
As seguintes alterações de código não têm suporte para Blazor WebAssembly aplicativos:
- Adicionando um novo
awaitoperador ouyieldpalavra-chave expressão. - Alterando os nomes dos parâmetros do método.
Blazor WebAssembly O Hot Reload dá suporte às seguintes alterações de código:
- Novos tipos.
- Classes aninhadas.
- A maioria das alterações nos corpos de método, como adicionar, remover e editar variáveis, expressões e instruções.
- Alterações nos corpos de expressões lambda e funções locais.
- Adicionando métodos estáticos e de instância a tipos existentes.
- Adicionando campos estáticos a tipos existentes.
- Adicionando lambdas estáticas aos métodos existentes.
- Adicionando lambdas que capturam
thisa métodos existentes que já capturavamthisanteriormente.
Observe que quando um atributo é removido que definiu anteriormente o valor de um parâmetro de componente, o componente é descartado e inicializado novamente para definir o parâmetro removido de volta ao seu valor padrão.
As seguintes alterações de código não têm suporte para Blazor WebAssembly aplicativos:
- Adicionando um novo
awaitoperador ouyieldpalavra-chave expressão. - Alterando os nomes dos parâmetros do método.
- Adicionando campos, eventos ou propriedades de instância (exceto
static).
Blazor WebAssembly O Hot Reload dá suporte às seguintes alterações de código:
- A maioria das alterações nos corpos de método, como adicionar, remover e editar variáveis, expressões e instruções.
- Alterações nos corpos de expressões lambda e funções locais.
As seguintes alterações de código não têm suporte para Blazor WebAssembly aplicativos:
- Adicionando novas lambdas ou funções locais.
- Adicionando um novo
awaitoperador ouyieldpalavra-chave expressão. - Alterando os nomes dos parâmetros do método.
- Alterações fora das estruturas de métodos.
- Adicionando campos, eventos ou propriedades de instância (exceto
static).
CLI do .NET
Hot Reload é ativada usando o comando dotnet watch.
dotnet watch
Para forçar o aplicativo a recompilar e reiniciar, use a combinação de teclado Ctrl+R no shell de comando.
Quando uma edição de código sem suporte é feita, chamada de edição rude, dotnet watch pergunta se você deseja reiniciar o aplicativo:
- Sim: reinicia o aplicativo.
- Não: não reinicia o aplicativo e deixa o aplicativo em execução sem as alterações aplicadas.
- Sempre: reinicia o aplicativo conforme necessário quando ocorrem edições rudes.
- Nunca: não reinicia o aplicativo e evita prompts futuros.
Para desabilitar o suporte ao Recarregamento Frequente, passe a opção --no-hot-reload para o dotnet watch comando:
dotnet watch --no-hot-reload
Desabilitar o recarregamento frequente
A seguinte configuração em Properties/launchSettings.json desabilita o Recarregamento Frequente:
"hotReloadEnabled" : false
Recursos adicionais
Para obter mais informações, consulte os seguintes recursos na documentação do Visual Studio:
- Vídeo do YouTube .NET 6 Hot Reload no Visual Studio 2022, VS Code e NOTEPAD?!?
- Introdução à experiência de recarga quente do .NET para edição de código em tempo de execução
- Gravar e depurar código em execução com o Hot Reload no Visual Studio
- Atualizações para Blazor &editores Razor + Recarregamento frequente para ASP.NET
- Execução de teste com Recarga Dinâmica