Depuración de aplicaciones ASP.NET Core
Nota:
Esta no es la versión más reciente de este artículo. Para la versión actual, consulta la versión .NET 8 de este artículo.
Advertencia
Esta versión de ASP.NET Core ya no se admite. Para obtener más información, consulta la Directiva de soporte técnico de .NET y .NET Core. Para la versión actual, consulta la versión .NET 8 de este artículo.
Importante
Esta información hace referencia a un producto en versión preliminar, el cual puede sufrir importantes modificaciones antes de que se publique la versión comercial. Microsoft no proporciona ninguna garantía, expresa o implícita, con respecto a la información proporcionada aquí.
Para la versión actual, consulte la versión .NET 8 de este artículo.
En este artículo se muestra cómo depurar aplicaciones Blazor, incluida la depuración de aplicaciones Blazor WebAssembly con las herramientas de desarrollo del explorador o un entorno de desarrollo integrado (IDE).
Las Blazor Web App se pueden depurar en Visual Studio o en Visual Studio Code.
Las aplicaciones Blazor WebAssembly se pueden depurar:
- En Visual Studio o Visual Studio Code.
- Mediante herramientas de desarrollo del explorador en exploradores basados en Chromium, incluidos Edge, Google Chrome, y Firefox.
Entre los escenarios disponibles para la depuración de Blazor WebAssembly se incluyen:
- Establecimiento y eliminación de puntos de interrupción.
- Ejecute la aplicación con compatibilidad de depuración en IDE.
- Examine el código en un solo paso.
- Reanude la ejecución de código con un método abreviado de teclado en IDE.
- En la ventana Variables locales, observe los valores de las variables locales.
- Vea la pila de llamadas, incluidas las cadenas de llamadas entre JavaScript y .NET.
- Use un servidor de símbolos para la depuración, configurado por las preferencias de Visual Studio.
Entre los escenarios no admitidos se incluyen:
- Depure en escenarios no locales; por ejemplo, el Subsistema de Windows para Linux (WSL) o Visual Studio Codespaces.
- Depuración en Firefox desde Visual Studio o Visual Studio Code.
Las aplicaciones Blazor Server se pueden depurar en Visual Studio o en Visual Studio Code.
Las aplicaciones Blazor WebAssembly se pueden depurar:
- En Visual Studio o Visual Studio Code.
- Mediante herramientas de desarrollo del explorador en exploradores basados en Chromium, incluidos Edge y Chrome.
Entre los escenarios no admitidos para las aplicaciones Blazor WebAssembly se incluyen:
- Establecimiento y eliminación de puntos de interrupción.
- Ejecute la aplicación con compatibilidad de depuración en IDE.
- Examine el código en un solo paso.
- Reanude la ejecución de código con un método abreviado de teclado en IDE.
- En la ventana Variables locales, observe los valores de las variables locales.
- Vea la pila de llamadas, incluidas las cadenas de llamadas entre JavaScript y .NET.
- Depure en escenarios no locales; por ejemplo, el Subsistema de Windows para Linux (WSL) o Visual Studio Codespaces.
- Use un servidor de símbolos para la depuración.
Las aplicaciones Blazor Server se pueden depurar en Visual Studio o en Visual Studio Code.
Las aplicaciones Blazor WebAssembly se pueden depurar:
- En Visual Studio o Visual Studio Code.
- Mediante herramientas de desarrollo del explorador en exploradores basados en Chromium, incluidos Edge y Chrome.
Entre los escenarios no admitidos para las aplicaciones Blazor WebAssembly se incluyen:
- Establecimiento y eliminación de puntos de interrupción.
- Ejecute la aplicación con compatibilidad de depuración en IDE.
- Examine el código en un solo paso.
- Reanude la ejecución de código con un método abreviado de teclado en IDE.
- En la ventana Variables locales, observe los valores de las variables locales.
- Vea la pila de llamadas, incluidas las cadenas de llamadas entre JavaScript y .NET.
- Alcanzar puntos de interrupción durante el inicio de la aplicación antes de que se ejecute el proxy de depuración. Esto incluye los puntos de interrupción del archivo
Program
y los de losOnInitialized{Async}
métodos de ciclo de vida de los componentes que se cargan según la primera página solicitada por la aplicación. - Depure en escenarios no locales; por ejemplo, el Subsistema de Windows para Linux (WSL) o Visual Studio Codespaces.
- Use un servidor de símbolos para la depuración.
Requisitos previos
En esta sección se explican los requisitos previos para la depuración.
Requisitos previos del usuario
La versión más reciente de los siguientes exploradores:
- Google Chrome
- Microsoft Edge
- Firefox (solo para herramientas de desarrollo del explorador)
La depuración requiere la versión más reciente de los siguientes exploradores:
- Google Chrome (predeterminado)
- Microsoft Edge
Asegúrese de que los firewalls o servidores proxy no bloquean la comunicación con el proxy de depuración (proceso NodeJS
). Para más información, vea la sección Configuración de firewall.
Nota:
Apple Safari en macOS no se admite actualmente.
Requisitos previos del IDE
Se requiere la versión más reciente de Visual Studio o Visual Studio Code.
Requisitos previos de Visual Studio Code
Visual Studio Code requiere el Kit de desarrollo de C# para Visual Studio Code (Cómo empezar con C# en VS Code). En Marketplace de extensiones de Visual Studio Code, filtre la lista de extensiones con "c# dev kit
" para buscar la extensión:
La instalación del Kit de desarrollo de C# instala automáticamente las siguientes extensiones adicionales:
Si encuentra advertencias o errores, puede abrir una incidencia (microsoft/vscode-dotnettools
repositorio de GitHub) describiendo el problema.
Requisitos previos de configuración de aplicaciones
La guía de esta subsección se aplica a la depuración del lado cliente.
Abra el archivo Properties/launchSettings.json
del proyecto de inicio. Confirme la presencia de la siguiente propiedad inspectUri
en cada perfil de inicio del nodo profiles
del archivo. Si la propiedad siguiente no está presente, agréguela a cada perfil:
"inspectUri": "{wsProtocol}://{url.hostname}:{url.port}/_framework/debug/ws-proxy?browser={browserInspectUri}"
La propiedad inspectUri
:
- Permite que el IDE detecte que la aplicación es una aplicación Blazor.
- Indica a la infraestructura de depuración de scripts que se conecte al explorador a través del proxy de depuración de Blazor.
El marco de trabajo proporciona los valores de marcador de posición para el protocolo WebSocket (wsProtocol
), el host (url.hostname
), el puerto (url.port
) y el identificador URI del inspector en el explorador iniciado (browserInspectUri
).
Paquetes
Blazor Web App: Microsoft.AspNetCore.Components.WebAssembly.Server
: hace referencia a un paquete interno (Microsoft.NETCore.BrowserDebugHost.Transport
) para ensamblados que comparten el host de depuración del explorador.
Blazor Server: Microsoft.AspNetCore.Components.WebAssembly.Server
: hace referencia a un paquete interno (Microsoft.NETCore.BrowserDebugHost.Transport
) para ensamblados que comparten el host de depuración del explorador.
Blazor WebAssembly independiente: Microsoft.AspNetCore.Components.WebAssembly.DevServer
: servidor de desarrollo para su uso al crear aplicaciones Blazor. Llama a UseWebAssemblyDebugging internamente a para agregar middleware para depurar aplicaciones Blazor WebAssembly dentro de las herramientas de desarrollo de Chromium.
Blazor WebAssembly hospedada:
- Proyecto Client:
Microsoft.AspNetCore.Components.WebAssembly.DevServer
: servidor de desarrollo para su uso al compilar aplicaciones Blazor. Llama a UseWebAssemblyDebugging internamente a para agregar middleware para depurar aplicaciones Blazor WebAssembly dentro de las herramientas de desarrollo de Chromium. - Proyecto Server:
Microsoft.AspNetCore.Components.WebAssembly.Server
: hace referencia a un paquete interno (Microsoft.NETCore.BrowserDebugHost.Transport
) para ensamblados que comparten el host de depuración del explorador.
Nota:
Para obtener instrucciones sobre cómo agregar paquetes a aplicaciones .NET, consulta los artículos de Instalación y administración de paquetes en Flujo de trabajo de consumo de paquetes (documentación de NuGet). Confirma las versiones correctas del paquete en NuGet.org.
Depuración de una Blazor Web App en un IDE
En el ejemplo de esta sección se supone que has creado una Blazor Web App con un modo de representación interactivo de Auto (Servidor y WebAssembly) y la ubicación de interactividad por componente.
- Abra la aplicación.
- Establezca un punto de interrupción en la línea
currentCount++;
del componenteCounter
(Pages/Counter.razor
) del proyecto de cliente (.Client
). - Con el proyecto de servidor seleccionado en Explorador de soluciones, presione F5 para ejecutar la aplicación en el depurador.
- En el explorador, vaya a la página
Counter
en/counter
. Espere unos segundos para que el proxy de depuración se cargue y ejecute. Seleccione el botón Haga clic en mí para alcanzar el punto de interrupción. - En Visual Studio, revise el valor del campo
currentCount
en la ventana Variables locales. - Presione F5 para continuar la ejecución.
Los puntos de interrupción también se pueden alcanzar en el proyecto de servidor en componentes del lado servidor representados de forma estática e interactiva.
- Detén el depurador.
- En la aplicación de servidor, abra el componente representado
Weather
estáticamente (Components/Pages/Weather.razor
) y establezca un punto de interrupción en cualquier lugar delOnInitializedAsync
método . - Presione F5 para ejecutar la aplicación en el depurador.
- En el explorador, vaya a la página
Weather
en/weather
. Espere unos segundos para que el proxy de depuración se cargue y ejecute. La ejecución de la aplicación se detiene en el punto de interrupción. - Presione F5 para continuar la ejecución.
Los puntos de interrupción no se alcanzan durante el inicio de la aplicación antes de que se ejecute el proxy de depuración. Esto incluye los puntos de interrupción del archivo Program
y los de los OnInitialized{Async}
métodos de ciclo de vida de los componentes que se cargan según la primera página solicitada por la aplicación.
Depuración de una aplicación Blazor Server en un IDE
- Abra la aplicación.
- Establezca un punto de interrupción en la línea
currentCount++;
del componenteCounter
(Pages/Counter.razor
). - Presione F5 para ejecutar la aplicación en el depurador.
- En el explorador, vaya a la página
Counter
en/counter
. Espere unos segundos para que el proxy de depuración se cargue y ejecute. Seleccione el botón Haga clic en mí para alcanzar el punto de interrupción. - En Visual Studio, revise el valor del campo
currentCount
en la ventana Variables locales. - Presione F5 para continuar la ejecución.
Los puntos de interrupción no se alcanzan durante el inicio de la aplicación antes de que se ejecute el proxy de depuración. Esto incluye los puntos de interrupción del archivo Program
y los de los OnInitialized{Async}
métodos de ciclo de vida de los componentes que se cargan según la primera página solicitada por la aplicación.
Depuración de una aplicación Blazor WebAssembly en un IDE
- Abra la aplicación.
- Establezca un punto de interrupción en la línea
currentCount++;
del componenteCounter
(Pages/Counter.razor
). - Presione F5 para ejecutar la aplicación en el depurador.
- En el explorador, vaya a la página
Counter
en/counter
. Espere unos segundos para que el proxy de depuración se cargue y ejecute. Seleccione el botón Haga clic en mí para alcanzar el punto de interrupción. - En Visual Studio, revise el valor del campo
currentCount
en la ventana Variables locales. - Presione F5 para continuar la ejecución.
Los puntos de interrupción no se alcanzan durante el inicio de la aplicación antes de que se ejecute el proxy de depuración. Esto incluye los puntos de interrupción del archivo Program
y los de los OnInitialized{Async}
métodos de ciclo de vida de los componentes que se cargan según la primera página solicitada por la aplicación.
Depuración de una aplicación hospedada Blazor WebAssembly en un IDE
Con el proyecto Server seleccionado en el Explorador de soluciones, presione F5 para ejecutar la aplicación en el depurador.
Al realizar una depuración con un explorador basado en Chromium, como Google Chrome o Microsoft Edge, puede que se abra una nueva ventana del navegador con un perfil distinto para la sesión de depuración, en vez de abrir una pestaña en una ventana existente con el perfil del usuario. Si la depuración con el perfil del usuario es un requisito, adopte uno de estos enfoques:
- Cierre todas las instancias abiertas del navegador antes de presionar F5 para iniciar la depuración.
- Configure Visual Studio para iniciar el explorador con el perfil del usuario. Para obtener más información sobre este enfoque, vea La depuración de WASM para Blazor en Visual Studio inicia Edge con otro directorio de datos del usuario (dotnet/aspnetcore #20915).
En el proyecto Client, establezca un punto de interrupción en la línea
currentCount++;
del componenteCounter
(Pages/Counter.razor
).En el explorador, vaya a la página
Counter
en/counter
. Espere unos segundos para que el proxy de depuración se cargue y ejecute. Seleccione el botón Haga clic en mí para alcanzar el punto de interrupción.En Visual Studio, revise el valor del campo
currentCount
en la ventana Variables locales.Presione F5 para continuar la ejecución.
También puede depurar código de servidor en el proyecto Server:
- Establezca un punto de interrupción en la página
Pages/FetchData.razor
de OnInitializedAsync. - Establezca un punto de interrupción en
WeatherForecastController
en el método de acciónGet
. - Vaya a la página
Fetch Data
para alcanzar el primer punto de interrupción en el componenteFetchData
justo antes de que emita una solicitud HTTP al servidor. - Presione F5 para continuar la ejecución y, luego, alcance el punto de interrupción en el servidor en
WeatherForecastController
. - Vuelva a presionar F5 para permitir que la ejecución continúe y ver la tabla de pronóstico meteorológico representada en el explorador.
Los puntos de interrupción no se alcanzan durante el inicio de la aplicación antes de que se ejecute el proxy de depuración. Esto incluye los puntos de interrupción del archivo Program
y los de los OnInitialized{Async}
métodos de ciclo de vida de los componentes que se cargan según la primera página solicitada por la aplicación.
No admite Iniciar sin depuración (Ctrl+F5 [Windows] o ⌘+F5 [macOS]). Cuando la aplicación se ejecuta en la configuración de depuración, la sobrecarga de depuración siempre genera una pequeña reducción del rendimiento.
Asociación a una sesión de depuración de Visual Studio Code existente
Para asociar a una aplicación Blazor en ejecución, abra el archivo .vscode/launch.json
y reemplace el marcador de posición {URL}
por la dirección URL donde se ejecuta la aplicación:
{
"name": "Attach and Debug",
"type": "blazorwasm",
"request": "attach",
"url": "{URL}"
}
Opciones de inicio de Visual Studio Code
Las opciones de configuración de inicio de la siguiente tabla son compatibles con el tipo de depuración blazorwasm
(.vscode/launch.json
).
Opción | Descripción |
---|---|
browser |
El explorador que se va a iniciar para la sesión de depuración. Se establece en edge o chrome . Tiene como valor predeterminado edge . |
cwd |
El directorio de trabajo en el que se va a iniciar la aplicación. |
request |
Use launch para iniciar y adjuntar una sesión de depuración a una aplicación Blazor WebAssembly o attach para adjuntar una sesión de depuración a una aplicación que ya está en ejecución. |
timeout |
El número de milisegundos que se esperarán para adjuntar la sesión de depuración. El valor predeterminado es 30 000 milisegundos (30 segundos). |
trace |
Se usa para generar registros desde el depurador de JS. Se establece en true para generar registros. |
url |
La dirección URL que se va a abrir en el explorador durante la depuración. |
webRoot |
Especifica la ruta de acceso absoluta del servidor web. Se debe establecer si una aplicación se envía desde una subruta. |
Las opciones adicionales de la tabla siguiente solo se aplican a aplicaciones Blazor WebAssembly hospedadas.
Opción | Descripción |
---|---|
env |
Las variables de entorno que se van a proporcionar al proceso iniciado. Solo se aplica si hosted está establecido en true . |
hosted |
Se debe establecer en true si se inicia y depura una aplicación hospedada Blazor WebAssembly. |
program |
Una referencia al archivo ejecutable para ejecutar el servidor de la aplicación hospedada. Se debe establecer si hosted es true . |
Depuración de Blazor WebAssembly con Google Chrome o Microsoft Edge
Las instrucciones de esta sección se aplican a la depuración de aplicaciones Blazor WebAssembly en:
- Google Chrome que se ejecuta en Windows o macOS.
- *Microsoft Edge que se ejecuta en Windows.
Ejecute la aplicación en un shell de comandos con
dotnet watch
(odotnet run
).Inicie un explorador y vaya a la dirección URL de la aplicación.
Para iniciar la depuración remota, presione:
- Mayús+Alt+d en Windows.
- Mayús+⌘+d en macOS.
El explorador debe ejecutarse con la depuración remota habilitada, lo cual no es el valor predeterminado. Si la depuración remota está deshabilitada, aparece una página de error que informa de que no se puede encontrar la pestaña del explorador depurable con instrucciones para iniciar el explorador con el puerto de depuración abierto. Siga las instrucciones del explorador.
Después de seguir las instrucciones para habilitar la depuración remota, la aplicación se abre en una nueva ventana del explorador. Inicie la depuración remota presionando la combinación HotKey en la nueva ventana del explorador:
- Mayús+Alt+d en Windows.
- Mayús+⌘+d en macOS.
Se abre una nueva ventana del explorador de herramientas de desarrollo que muestra una imagen fantasma de la aplicación.
Nota:
Si ha seguido las instrucciones para abrir una nueva pestaña del explorador con la depuración remota habilitada, puede cerrar la ventana original del explorador, dejando abierta la segunda ventana con la primera pestaña que ejecuta la aplicación y la segunda pestaña que ejecuta el depurador.
Tras unos instantes, en la pestaña Orígenes se mostrará una lista de los ensamblados .NET y páginas de la aplicación.
Abre el nodo
file://
. En el código de componente (archivos.razor
) y archivos de código de C# (.cs
), los puntos de interrupción que establezca se alcanzan cuando el código se ejecuta en la pestaña del explorador de la aplicación (la pestaña inicial abierta después de iniciar la depuración remota). Después de alcanzar un punto de interrupción, recorra el código paso a paso (F10) o reanude (F8) la ejecución del código normalmente en la pestaña de depuración.
En la depuración del explorador basado en Chromium, Blazor proporciona un proxy de depuración que implementa el protocolo Chrome DevTools y aumenta el protocolo con información específica de .NET. Cuando se presiona el método abreviado de teclado de depuración, Blazor apunta a Chrome DevTools en el proxy. El proxy se conecta a la ventana del explorador que se quiere depurar (de ahí la necesidad de habilitar la depuración remota).
Depuración de una aplicación Blazor WebAssembly con Firefox
Las instrucciones de esta sección se aplican a la depuración de aplicaciones Blazor WebAssembly en una instancia de Firefox que se ejecuta en Windows.
La depuración de una aplicación Blazor WebAssembly con Firefox requiere configurar el explorador para la depuración remota y conectarse al explorador mediante las herramientas de desarrollo del explorador a través del proxy de depuración WebAssembly de .NET.
Nota:
La depuración en Firefox desde Visual Studio no se admite en este momento.
Para depurar una aplicación Blazor WebAssembly en Firefox durante el desarrollo:
- Configurar Firefox:
- Abre
about:config
en una nueva pestaña del explorador. Lea y descarte la advertencia que aparece. - Habilita
devtools.debugger.remote-enabled
estableciendo su valor enTrue
. - Habilita
devtools.chrome.enabled
estableciendo su valor enTrue
. - Deshabilita estableciendo
devtools.debugger.prompt-connection
su valor enFalse
.
- Abre
- Cierra todas las instancias de Firefox.
- Ejecuta la aplicación en un shell de comandos con
dotnet watch
(odotnet run
). - Vuelve a iniciar el explorador Firefox y vaya a la aplicación.
- Abre
about:debugging
en una nueva pestaña del explorador. Dejar esta pestaña abierta. - Vuelve a la pestaña donde se ejecuta la aplicación. Inicia la depuración remota presionando Mayús+Alt+d.
- En la pestaña
Debugger
, abre el archivo de código fuente de la aplicación que deseas depurar en el nodofile://
y establece un punto de interrupción. Por ejemplo, establece un punto de interrupción en la líneacurrentCount++;
del métodoIncrementCount
del componenteCounter
(Pages/Counter.razor
). - Navega hasta la página del componente
Counter
(/counter
) en la pestaña del navegador de la aplicación y selecciona el botón del contador para alcanzar el punto de interrupción. - Presiona F5 para continuar la ejecución en la pestaña depuración.
Interrumpir las operaciones ante excepciones no controladas
El depurador no se interrumpe en excepciones no controladas de forma predeterminada porque Blazor detecta las excepciones no controladas por código de desarrollador.
Interrumpir las operaciones ante excepciones no controladas:
- Abre la configuración de excepciones del depurador (Depurar>Windows>Configuración de excepciones) en Visual Studio.
- Establece la siguiente configuración de excepciones de JavaScript:
- Todas las excepciones
- Excepciones no detectadas
Mapas de origen del explorador
Los mapas de origen del explorador permiten al explorador volver a asignar los archivos compilados a sus archivos de código fuente originales y se suelen usar para la depuración del lado cliente. Sin embargo, en la actualidad Blazor no asigna C# directamente a JavaScript o WASM. En su lugar, Blazor realiza la interpretación de IL en el explorador, por lo que los mapas de origen no son pertinentes.
Configuración de firewall
Si un firewall bloquea la comunicación con el proxy de depuración, cree una regla de excepción de firewall que permita la comunicación entre el explorador y el proceso NodeJS
.
Advertencia
La modificación de una configuración de firewall debe realizarse con cuidado para evitar la creación de vulnerabilidades de seguridad. Aplica con cuidado las instrucciones de seguridad, sigue las recomendaciones de seguridad y respeta las advertencias realizadas por el fabricante del firewall.
Permitir la comunicación abierta con el proceso NodeJS
:
- Abre el servidor de Node en cualquier conexión, en función de la configuración y las funcionalidades del firewall.
- Podría ser arriesgado en función de la red.
- Solo se recomienda en los equipos de los desarrolladores.
Si es posible, permite solo la comunicación abierta con el proceso NodeJS
en redes privadas o de confianza.
Para obtener instrucciones de configuración del Firewall de Windows, consulta Crear una regla de programa o servicio de entrada. Para obtener más información, consulta Firewall de Windows Defender con seguridad avanzada y los artículos relacionados en la serie de documentos sobre el Firewall de Windows.
Solucionar problemas
Si te encuentras con errores, las sugerencias siguientes pueden ser útiles:
- Elimina los puntos de interrupción:
- Google Chrome: en la pestaña Depurador, abre las herramientas de desarrollo del explorador. En la consola, ejecuta
localStorage.clear()
para quitar los puntos de interrupción. - Microsoft Edge: en la pestaña Aplicación, abre almacenamiento local. Haz clic con el botón derecho en el sitio y seleccione Borrar.
- Google Chrome: en la pestaña Depurador, abre las herramientas de desarrollo del explorador. En la consola, ejecuta
- Confirma que instalaste el certificado de desarrollo HTTPS de ASP.NET Core y que es de confianza. Para obtener más información, consulta Aplicación de HTTPS en ASP.NET Core.
- Visual Studio requiere la opción Habilitar depuración de JavaScript para ASP.NET (Chrome y Edge), en Herramientas>Opciones>Depuración>General. Es el valor predeterminado para Visual Studio. Si la depuración no funciona, confirma que la opción está seleccionada.
- Si tu entorno usa un proxy HTTP, asegúrate de que
localhost
esté incluido en la configuración de omisión del proxy. Esto puede hacerse al establecer la variable de entornoNO_PROXY
en alguna de las siguientes opciones:- Archivo
launchSettings.json
del proyecto. - En el nivel de usuario o de entorno del sistema para que se aplique a todas las aplicaciones. Si usas una variable de entorno, reinicia Visual Studio para que el cambio surta efecto.
- Archivo
- Asegúrate de que los firewalls o servidores proxy no bloquean la comunicación con el proxy de depuración (proceso
NodeJS
). Para obtener más información, consulta la sección Configuración de firewall.
Puntos de interrupción de OnInitialized{Async}
no ejecutados
El proxy de depuración del marco de Blazor no se inicia instantáneamente al iniciarse la aplicación, por lo que es posible que no se alcancen los puntos de interrupción de los métodos de ciclo de vida de OnInitialized{Async}
. Se recomienda agregar un retraso al principio del cuerpo del método para dar al proxy de depuración un tiempo para que se inicie antes de que se ejecute el punto de interrupción. Puedes incluir el retraso según una directiva de compilador if
para asegurarte de que el retraso no está presente en una compilación de versión de la aplicación.
protected override void OnInitialized()
{
#if DEBUG
Thread.Sleep(10000);
#endif
...
}
protected override async Task OnInitializedAsync()
{
#if DEBUG
await Task.Delay(10000);
#endif
...
}
Tiempo de espera de Visual Studio (Windows)
Si Visual Studio inicia una excepción relacionada con que el adaptador de depuración no ha podido iniciarse en la que se menciona que se ha alcanzado el tiempo de espera, puedes ajustar el tiempo de espera con una configuración del registro:
VsRegEdit.exe set "<VSInstallFolder>" HKCU JSDebugger\Options\Debugging "BlazorTimeoutInMilliseconds" dword {TIMEOUT}
El marcador de posición {TIMEOUT}
del comando anterior se expresa en milisegundos. Por ejemplo, un minuto se asigna como 60000
.