Nota
O acesso a esta página requer autorização. Podes tentar iniciar sessão ou mudar de diretório.
O acesso a esta página requer autorização. Podes tentar mudar de diretório.
O .NET Hot Reload aplica alterações de código, incluindo alterações em folhas de estilo, a um aplicativo em execução sem reiniciar o aplicativo e sem perder o estado do aplicativo. O Hot Reload é suportado 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:
- Algumas lógicas de inicialização são executadas apenas 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 rotas, a menos que a atualização de código seja para um delegado do manipulador de rotas (por exemplo,
OnInitialized).
- Em Blazor aplicativos, a estrutura dispara uma Razor renderização de componente automaticamente.
- Nos aplicativos MVC e Razor Pages, o Hot Reload aciona uma atualização do navegador automaticamente.
- A remoção de um Razor atributo de parâmetro de componente não faz com que o componente seja reprocessado. O aplicativo deve ser reiniciado.
Para obter mais informações sobre cenários suportados, consulte Alterações de código suportadas (C# e Visual Basic).
Blazor WebAssembly
Blazor WebAssembly O Hot Reload suporta as seguintes alterações de código:
- Novos tipos.
- Classes aninhadas.
- A maioria das alterações nos corpos dos métodos, como adicionar, remover e editar variáveis, expressões e instruções.
- "Alterações nos corpos das expressões lambda e das funções locais."
- Adicionando métodos estáticos e de instância a tipos existentes.
- Adicionar campos, eventos e propriedades estáticos e de instância a tipos existentes.
- Adicionar lambdas estáticas a métodos existentes.
- Adicionando lambdas que capturam
thisa métodos existentes que já capturaramthisanteriormente.
Observe que quando um atributo é removido que definiu anteriormente o valor de um parâmetro de componente, o componente é descartado e reinicializado para definir o parâmetro removido de volta ao seu valor padrão.
As seguintes alterações de código não são suportadas para Blazor WebAssembly aplicações:
- Adicionar um novo
awaitoperador ouyieldexpressão de palavra-chave . - Alterar os nomes dos parâmetros do método.
Blazor WebAssembly O Hot Reload suporta as seguintes alterações de código:
- Novos tipos.
- Classes aninhadas.
- A maioria das alterações nos corpos dos métodos, como adicionar, remover e editar variáveis, expressões e instruções.
- "Alterações nos corpos das expressões lambda e das funções locais."
- Adicionando métodos estáticos e de instância a tipos existentes.
- Adicionar campos estáticos a tipos existentes.
- Adicionar lambdas estáticas a métodos existentes.
- Adicionando lambdas que capturam
thisa métodos existentes que já capturaramthisanteriormente.
Observe que quando um atributo é removido que definiu anteriormente o valor de um parâmetro de componente, o componente é descartado e reinicializado para definir o parâmetro removido de volta ao seu valor padrão.
As seguintes alterações de código não são suportadas para Blazor WebAssembly aplicações:
- Adicionar um novo
awaitoperador ouyieldexpressão de palavra-chave . - Alterar os nomes dos parâmetros do método.
- Adicionar campos, eventos ou propriedades de instância (exceto
static).
Blazor WebAssembly O Hot Reload suporta as seguintes alterações de código:
- A maioria das alterações nos corpos dos métodos, como adicionar, remover e editar variáveis, expressões e instruções.
- "Alterações nos corpos das expressões lambda e das funções locais."
As seguintes alterações de código não são suportadas para Blazor WebAssembly aplicações:
- Adicionar novas lambdas ou funções locais.
- Adicionar um novo
awaitoperador ouyieldexpressão de palavra-chave . - Alterar os nomes dos parâmetros do método.
- Alterações fora do corpo do método.
- Adicionar campos, eventos ou propriedades de instância (exceto
static).
CLI de .NET
Hot Reload é ativado usando o dotnet watch comando:
dotnet watch
Para forçar a aplicação a reconstruir e reiniciar, use a combinação de teclado Ctrl+R na linha de comandos.
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 a aplicação conforme necessário quando ocorrem edições impróprias.
- Nunca: não reinicia o aplicativo e evita solicitações futuras.
Para desativar o suporte para Hot Reload, passe a --no-hot-reload opção para o dotnet watch comando:
dotnet watch --no-hot-reload
Desativar Hot Reload
A seguinte configuração em Properties/launchSettings.json desativa Hot Reload:
"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?!
- Apresentando a experiência do .NET Hot Reload para edição de código em tempo de execução
- Escrever e depurar código em execução com Hot Reload no Visual Studio
- Atualizações para Blazor editores & Razor + Hot Reload para ASP.NET
- Execução de testes com recarga a quente