Nota
El acceso a esta página requiere autorización. Puede intentar iniciar sesión o cambiar directorios.
El acceso a esta página requiere autorización. Puede intentar cambiar los directorios.
La recarga activa de .NET aplica cambios de código, incluidos los cambios en las hojas de estilos, a una aplicación en ejecución sin reiniciar la aplicación y sin perder el estado de la aplicación. La recarga en caliente se admite para todos los ASP.NET Core en proyectos en .NET 6 o versiones posteriores.
Por lo general, el código actualizado se vuelve a ejecutar para surtir efecto con las condiciones siguientes:
- Algunas lógicas de inicio solo se ejecutan una vez:
- Middleware, a menos que la actualización de código sea para un delegado de middleware en línea.
- Servicios configurados.
- Creación y configuración de rutas, a menos que la actualización del código sea para un delegado del controlador de rutas (por ejemplo,
OnInitialized
).
- En Blazor las aplicaciones, la infraestructura desencadena automáticamente el renderizado de un Razor componente.
- En las aplicaciones de MVC y Razor Pages, Hot Reload desencadena automáticamente una actualización del navegador.
- Quitar un Razor atributo de parámetro de componente no hace que el componente vuelva a representar. La aplicación debe reiniciarse.
Para obtener más información sobre los escenarios admitidos, vea Cambios de código admitidos (C# y Visual Basic).
Blazor WebAssembly
Blazor WebAssembly Recarga en caliente admite los siguientes cambios de código
- Nuevos tipos.
- Clases anidadas.
- La mayoría de los cambios en los cuerpos de método, como agregar, quitar y editar variables, expresiones e instrucciones.
- Cambios en los cuerpos de expresiones lambda y funciones locales.
- Agregar métodos estáticos e de instancia a los tipos existentes.
- Agregar campos, eventos y propiedades estáticos y de instancia a tipos existentes.
- Agregar expresiones lambda estáticas a los métodos existentes.
- Adición de lambdas que capturan
this
a los métodos existentes que ya capturabanthis
anteriormente.
Tenga en cuenta que cuando se quita un atributo que previamente establece el valor de un parámetro de componente, el componente se elimina y se vuelve a inicializar para volver a establecer el parámetro quitado en su valor predeterminado.
Los cambios de código siguientes no se admiten para Blazor WebAssembly las aplicaciones:
- Agregar un nuevo
await
operador oyield
expresión de palabra clave. - Cambiar los nombres de los parámetros del método.
Blazor WebAssembly Recarga en caliente admite los siguientes cambios de código
- Nuevos tipos.
- Clases anidadas.
- La mayoría de los cambios en los cuerpos de método, como agregar, quitar y editar variables, expresiones e instrucciones.
- Cambios en los cuerpos de expresiones lambda y funciones locales.
- Agregar métodos estáticos e de instancia a los tipos existentes.
- Agregar campos estáticos a tipos existentes.
- Agregar expresiones lambda estáticas a los métodos existentes.
- Adición de lambdas que capturan
this
a los métodos existentes que ya capturabanthis
anteriormente.
Tenga en cuenta que cuando se quita un atributo que previamente establece el valor de un parámetro de componente, el componente se elimina y se vuelve a inicializar para volver a establecer el parámetro quitado en su valor predeterminado.
Los cambios de código siguientes no se admiten para Blazor WebAssembly las aplicaciones:
- Agregar un nuevo
await
operador oyield
expresión de palabra clave. - Cambiar los nombres de los parámetros del método.
- Agregar campos de instancia (no-
static
), eventos o propiedades.
Blazor WebAssembly Recarga en caliente admite los siguientes cambios de código
- La mayoría de los cambios en los cuerpos de método, como agregar, quitar y editar variables, expresiones e instrucciones.
- Cambios en los cuerpos de expresiones lambda y funciones locales.
Los cambios de código siguientes no se admiten para Blazor WebAssembly las aplicaciones:
- Agregar nuevas expresiones lambda o funciones locales.
- Agregar un nuevo
await
operador oyield
expresión de palabra clave. - Cambiar los nombres de los parámetros del método.
- Cambios fuera de los cuerpos de métodos.
- Agregar campos de instancia (no-
static
), eventos o propiedades.
CLI de .NET
La función Hot Reload se utiliza mediante el comando dotnet watch
dotnet watch
Para forzar que la aplicación se recompile y reinicie, use la combinación de teclado Ctrl+R en el shell de comandos.
Cuando se realiza una edición de código no compatible, denominada edición grosera, dotnet watch
te pregunta si quieres reiniciar la aplicación:
- Sí: reinicia la aplicación.
- No: no reinicia la aplicación y deja la aplicación en ejecución sin los cambios aplicados.
- Siempre: reinicia la aplicación según sea necesario cuando se producen modificaciones groseras.
- Nunca: no reinicia la aplicación y evita mensajes futuros.
Para deshabilitar la compatibilidad con Recarga activa, pase la opción --no-hot-reload
al comando dotnet watch
.
dotnet watch --no-hot-reload
Deshabilitar Hot Reload
La siguiente configuración en Properties/launchSettings.json
deshabilita Hot Reload:
"hotReloadEnabled" : false
Recursos adicionales
Para obtener más información, consulte los siguientes recursos en la documentación de Visual Studio:
- Vídeo de YouTube .NET 6 Recarga en caliente en Visual Studio 2022, VS Code y NOTEPAD?!?
- Introducción a la experiencia de recarga activa de .NET para editar código en tiempo de ejecución
- Escritura y depuración de código en ejecución con recarga activa en Visual Studio
- Actualizaciones para Blazor y Razor editores + Recarga en caliente para ASP.NET
- Ejecución de pruebas con Recarga activa