
¡Blazor 0.8.0 ya está disponible! Esta versión actualiza Blazor para usar componentes Razor en .NET Core 3.0 y agrega algunas correcciones de errores críticos.
Obtenga Blazor 0.8.0
Para comenzar con Blazor 0.8.0, instale lo siguiente:
- .NET Core 3.0 Preview 2 SDK (3.0.100-preview-010184)
- Visual Studio 2019 (Vista previa 2 o posterior) con la carga de trabajo de desarrollo web y ASP.NET seleccionada.
- La última extensión de Blazor de Visual Studio Marketplace.
Las plantillas de Blazor en la línea de comandos:
dotnet new -i Microsoft.AspNetCore.Blazor.Templates::0.8.0-preview-19104-04
Puede encontrar instrucciones de inicio, documentos y tutoriales para Blazor en https://blazor.net .
Actualiza a Blazor 0.8.0
Para actualizar sus aplicaciones Blazor existentes a Blazor 0.8.0 primero, asegúrese de haber instalado los requisitos previos enumerados anteriormente.
Para actualizar un proyecto independiente Blazor 0.7.0 a 0.8.0:
- Actualice los paquetes Blazor y las referencias de la herramienta .NET CLI a 0.8.0-preview-19104-04.
- Reemplace cualquier referencia de paquete a Microsoft.AspNetCore.Blazor.
- Reemplace
BlazorComponent
con ComponentBase
. - Actualice las anulaciones de
SetParameters
en los componentes para anular SetParametersAsync
lugar. - Reemplace
BlazorLayoutComponent
con LayoutComponentBase
- Reemplace
IBlazorApplicationBuilder
con IComponentsApplicationBuilder
. - Reemplace cualquier declaración de uso para
Microsoft.AspNetCore.Blazor.*
Con Microsoft.AspNetCore.Components.*
, Excepto deje Microsoft.AspNetCore.Blazor.Hosting
en Program.cs - En index.html, actualice la referencia del script a los componentes de referencia.webassembly.js en lugar de blazor.webassembly.js
Para actualizar una aplicación Blazor alojada en ASP.NET Core a 0.8.0:
- Actualice el proyecto Blazor del lado del cliente como se describió anteriormente.
- Actualice la aplicación ASP.NET Core que aloja la aplicación Blazor a .NET Core 3.0 siguiendo los pasos de migración en los documentos de ASP.NET Core .
- Actualice el marco de destino para que sea
netcoreapp3.0
- Elimine cualquier referencia de paquete a Microsoft.AspNetCore.App o Microsoft.AspNetCore.All
- Actualice cualquier Microsoft.AspNetCore que no sea Blazor. * Referencias de paquetes a la versión 3.0.0-preview-19075-0444
- Elimine cualquier referencia de paquete a Microsoft.AspNetCore.Razor.Design
- Para habilitar la compatibilidad con JSON, agregue una referencia de paquete a Microsoft.AspNetCore.Mvc.NewtonsoftJson y actualice
Startup.ConfigureServices
para llamar a services.AddMvc().AddNewtonsoftJson()
- Actualice la referencia del paquete Microsoft.AspNetCore.Blazor.Server a 0.8.0-preview-19104-04
- Agregue una referencia de paquete a Microsoft.AspNetCore.Components.Server
- En
Startup.ConfigureServices
simplifique cualquier llamada a app.AddResponseCompression
para llamar a la sobrecarga predeterminada sin especificar WebAssembly o datos binarios como tipos MIME adicionales para comprimir. - En
Startup.Configure
agregue una llamada a app.UseBlazorDebugging()
después de la llamada existente a app.UseBlazor<App.Startup>()
- Elimine cualquier uso innecesario del espacio de nombres
Microsoft.AspNetCore.Blazor.Server
.
Para actualizar una biblioteca de clases Blazor a 0.8.0:
- Reemplace las referencias del paquete a Microsoft.AspNetCore.Components.Browser y actualice las versiones a 3.0.0-preview-19075 -0444.
- En el archivo del proyecto para la biblioteca, cambie el SDK del proyecto de "Microsoft.NET.Sdk.Web" a "Microsoft.NET.Sdk.Razor".
Blazor del lado del servidor ahora es ASP.NET Core Razor Components en .NET Core 3.0
Como se anunció recientemente, Blazor del lado del servidor ahora se distribuye como ASP.NET Core Razor Components en .NET Core 3.0. Hemos integrado el modelo de componentes de Blazor en ASP.NET Core 3.0 y le hemos cambiado el nombre a Razor Components. Blazor 0.8.0 ahora está construido sobre Razor Components y le permite alojar Razor Components en el navegador en WebAssembly.
Actualice un proyecto Blazor del lado del servidor a ASP.NET Core Razor Components en .NET Core 3.0
Si ha estado trabajando con Blazor del lado del servidor, le recomendamos actualizar para usar los componentes de ASP.NET Core Razor en .NET Core 3.0.
Para actualizar una aplicación Blazor del lado del servidor a ASP.NET Core Razor Components:
- Actualice el proyecto Blazor del lado del cliente como se describió anteriormente, excepto que reemplace la referencia del script a blazor.server.js con components.server.js
- Actualice la aplicación ASP.NET Core que aloja los Componentes Razor a .NET Core 3.0 como se describió anteriormente.
- En el proyecto del servidor:
- Actualice la referencia del paquete Microsoft.AspNetCore.Blazor.Server a 0.8.0-preview-19104-04
- Agregue una referencia de paquete a Microsoft.AspNetCore.Components.Server versión 3.0.0-preview-19075-0444
- Reemplace la instrucción de uso para
Microsoft.AspNetCore.Blazor.Server
con Microsoft.AspNetCore.Components.Server
- Reemplace
services.AddServerSideBlazor
con services.AddRazorComponents
y app.UseServerSideBlazor
con app.UseRazorComponents
. - En el método
Startup.Configure
, agregue app.UseStaticFiles()
justo antes de llamar a app.UseRazorComponents
. - Mueva la carpeta wwwroot del proyecto de la aplicación Blazor al proyecto del servidor ASP.NET Core
Cambiar entre los componentes de ASP.NET Core Razor y Blazor del lado del cliente
A veces es conveniente poder cambiar entre ejecutar Razor Components en el servidor (ASP.NET Core Razor Components) y en el cliente (Blazor). Por ejemplo, puede ejecutar en el servidor durante el desarrollo para poder depurar fácilmente, pero luego publicar su aplicación para que se ejecute en el cliente.
Para actualizar una aplicación Blazor alojada en ASP.NET Core para que pueda ejecutarse como una aplicación ASP.NET Core Razor Components:
- Mueva la carpeta wwwroot del proyecto Blazor del lado del cliente al proyecto del servidor ASP.NET Core.
- En el proyecto del servidor:
- Actualice la etiqueta de script en index.html para señalar a components.server.js en lugar de components.webassembly.js .
- Agregue una llamada a
services.AddRazorComponents<Client.Startup>()
en el método Startup.ConfigureServices
. - Agregue una llamada a
app.UseStaticFiles()
en el método Startup.Configure
antes de la llamada a UseMvc
. - Reemplace la llamada a
UseBlazor
con app.UseRazorComponents<Client.Startup>()
- Si utiliza la inyección de dependencia para inyectar un
HttpClient
en sus componentes, deberá agregar un HttpClient
como servicio en el método Startup.ConfigureServices
su servidor.
Las herramientas para proyectos de Blazor ahora se incluyen con Visual Studio 2019
Anteriormente para obtener soporte de herramientas para proyectos de Blazor, necesitaba instalar la extensión de Blazor para Visual Studio. A partir de Visual Studio 2019 Preview 2, el soporte de herramientas para Razor Components (y, por lo tanto, las aplicaciones Blazor) ya está incluido sin tener que instalar nada más. La extensión Blazor ahora solo es necesaria para instalar las plantillas de proyecto Blazor en Visual Studio.
Mejoras de tiempo de ejecución
Blazor 0.8.0 incluye algunas mejoras de tiempo de ejecución .NET, como un rendimiento de tiempo de ejecución mejorado en Chrome y un enlazador IL mejorado. En nuestros puntos de referencia de rendimiento, el rendimiento de Blazor 0.8.0 en Chrome ahora es aproximadamente un 25% más rápido. Ahora también puede hacer referencia a bibliotecas existentes como Json.NET desde una aplicación Blazor sin ninguna configuración adicional del vinculador:
@functions { WeatherForecast[] forecasts; protected override async Task OnInitAsync() { var json = await Http.GetStringAsync("api/SampleData/WeatherForecasts"); forecasts = Newtonsoft.Json.JsonConvert.DeserializeObject<WeatherForecast[]>(json); } }
Problemas conocidos
Hay un par de problemas conocidos con esta versión que puede encontrar:
- "No fue posible encontrar ninguna versión de marco compatible. No se encontró el marco especificado 'Microsoft.NETCore.App', versión '2.0.0' ”. : Es posible que vea este error al crear una aplicación Blazor porque el vinculador IL actualmente requiere .NET Core 2.x para ejecutarse. Para
<BlazorLinkOnBuild>false</BlazorLinkOnBuild>
este problema, instale .NET Core 2.2 o desactive el enlace IL configurando la <BlazorLinkOnBuild>false</BlazorLinkOnBuild>
en su archivo de proyecto. - "No se puede generar deps.json, es posible que ya se haya generado". : Es posible que vea este error al ejecutar una aplicación Blazor independiente y aún no ha restaurado paquetes para ninguna aplicación .NET Core. Para solucionar este problema, cree cualquier aplicación .NET Core (por ejemplo, la
dotnet new console
dotnet) y luego vuelva a ejecutar la aplicación Blazor.
Estos problemas se abordarán en una futura actualización de Blazor.
Actualizaciones futuras
Esta versión de Blazor se centró principalmente en la integración de los componentes de Razor en ASP.NET Core 3.0 y luego en la reconstrucción de Blazor además de eso. En el futuro, planeamos enviar actualizaciones de Blazor con cada actualización de .NET Core 3.0.
Blazor, y el soporte para ejecutar Razor Components en WebAssembly en el navegador, no se distribuirá con .NET Core 3.0, pero continuaremos trabajando para enviar Blazor más adelante.
Dar retroalimentación
Esperamos que disfrute de esta última versión preliminar de Blazor. Al igual que con versiones anteriores, sus comentarios son importantes para nosotros. Si tiene problemas o tiene preguntas mientras prueba Blazor, presente los problemas en GitHub . También puedes chatear con nosotros y con la comunidad de Blazor en Gitter si te quedas atascado o para compartir cómo Blazor está trabajando para ti. Después de probar Blazor durante un tiempo, cuéntenos qué piensa al completar nuestra encuesta en el producto. Haga clic en el enlace de la encuesta que se muestra en la página de inicio de la aplicación cuando ejecute una de las plantillas de proyecto de Blazor:

¡Gracias por probar Blazor!