
Blazor 0.8.0 est maintenant disponible! Cette version met Ă jour Blazor pour utiliser les composants Razor dans .NET Core 3.0 et ajoute quelques corrections de bogues critiques.
Obtenez Blazor 0.8.0
Pour commencer avec Blazor 0.8.0, installez les éléments suivants:
- SDK .NET Core 3.0 Preview 2 (3.0.100-preview-010184)
- Visual Studio 2019 (Preview 2 ou version ultérieure) avec la charge de travail ASP.NET et de développement Web sélectionnée.
- La derniĂšre extension Blazor de Visual Studio Marketplace.
Les modĂšles Blazor sur la ligne de commande:
dotnet new -i Microsoft.AspNetCore.Blazor.Templates::0.8.0-preview-19104-04
Vous pouvez trouver des instructions de démarrage, des documents et des didacticiels pour Blazor sur https://blazor.net .
Mettre Ă niveau vers Blazor 0.8.0
Pour mettre à niveau vos applications Blazor existantes vers Blazor 0.8.0, assurez-vous d'abord d'avoir installé les prérequis répertoriés ci-dessus.
Pour mettre Ă niveau un projet Blazor 0.7.0 autonome vers 0.8.0:
- Mettez à jour les packages Blazor et les références de l'outil CLI .NET vers 0.8.0-preview-19104-04.
- Remplacez toute référence de package à Microsoft.AspNetCore.Blazor.
- Remplacez
BlazorComponent
par ComponentBase
. - Mettez Ă jour les remplacements de
SetParameters
sur les composants pour remplacer SetParametersAsync
place. - Remplacer
BlazorLayoutComponent
par LayoutComponentBase
- Remplacez
IBlazorApplicationBuilder
par IComponentsApplicationBuilder
. - Remplacez toutes les instructions using pour
Microsoft.AspNetCore.Blazor.*
Avec Microsoft.AspNetCore.Components.*
, Sauf laissez Microsoft.AspNetCore.Blazor.Hosting
dans Program.cs - Dans index.html, mettez à jour la référence de script pour référencer components.webassembly.js au lieu de blazor.webassembly.js
Pour mettre à niveau une application Blazor hébergée par ASP.NET Core vers 0.8.0:
- Mettez à jour le projet Blazor cÎté client comme décrit précédemment.
- Mettez à jour l'application ASP.NET Core hébergeant l'application Blazor vers .NET Core 3.0 en suivant les étapes de migration dans les documents ASP.NET Core .
- Mettre Ă jour le framework cible pour ĂȘtre
netcoreapp3.0
- Supprimez toute référence de package à Microsoft.AspNetCore.App ou Microsoft.AspNetCore.All
- Mettez à niveau tout Microsoft.AspNetCore non-Blazor. * Références de package vers la version 3.0.0-preview-19075-0444
- Supprimez toute référence de package à Microsoft.AspNetCore.Razor.Design
- Pour activer la prise en charge JSON, ajoutez une référence de package à Microsoft.AspNetCore.Mvc.NewtonsoftJson et mettez à jour
Startup.ConfigureServices
pour appeler services.AddMvc().AddNewtonsoftJson()
- Mettez à niveau la référence du package Microsoft.AspNetCore.Blazor.Server vers 0.8.0-preview-19104-04
- Ajoutez une référence de package à Microsoft.AspNetCore.Components.Server
- Dans
Startup.ConfigureServices
simplifiez tout appel Ă app.AddResponseCompression
pour appeler la surcharge par défaut sans spécifier WebAssembly ou les données binaires comme types MIME supplémentaires à compresser. - Dans
Startup.Configure
ajoutez un appel Ă app.UseBlazorDebugging()
aprĂšs l'appel existant Ă app.UseBlazor<App.Startup>()
- Supprimez toute utilisation inutile de l'espace de noms
Microsoft.AspNetCore.Blazor.Server
.
Pour mettre Ă niveau une bibliothĂšque de classes Blazor vers 0.8.0:
- Remplacez les références de package à Microsoft.AspNetCore.Components.Browser et mettez à jour les versions vers 3.0.0-preview-19075 -0444.
- Dans le fichier de projet de la bibliothÚque, modifiez le SDK du projet de «Microsoft.NET.Sdk.Web» en «Microsoft.NET.Sdk.Razor».
Blazor cÎté serveur est désormais ASP.NET Core Razor Components dans .NET Core 3.0
Comme cela a été annoncé récemment, Blazor cÎté serveur est désormais disponible en tant que composants de rasoir ASP.NET Core dans .NET Core 3.0. Nous avons intégré le modÚle de composant Blazor dans ASP.NET Core 3.0 et l'avons renommé Razor Components. Blazor 0.8.0 est maintenant construit sur des composants Razor et vous permet d'héberger des composants Razor dans le navigateur sur WebAssembly.
Mettre à niveau un projet Blazor cÎté serveur vers les composants ASP.NET Core Razor dans .NET Core 3.0
Si vous avez travaillé avec Blazor cÎté serveur, nous vous recommandons de procéder à une mise à niveau pour utiliser les composants ASP.NET Core Razor dans .NET Core 3.0.
Pour mettre à niveau une application Blazor cÎté serveur vers les composants ASP.NET Core Razor:
- Mettez à jour le projet Blazor cÎté client comme décrit précédemment, sauf remplacez la référence de script à blazor.server.js par components.server.js
- Mettez à jour l'application ASP.NET Core hébergeant les composants Razor vers .NET Core 3.0 comme décrit précédemment.
- Dans le projet serveur:
- Mettez à niveau la référence du package Microsoft.AspNetCore.Blazor.Server vers 0.8.0-preview-19104-04
- Ajouter une référence de package à Microsoft.AspNetCore.Components.Server version 3.0.0-preview-19075-0444
- Remplacez l'instruction using pour
Microsoft.AspNetCore.Blazor.Server
par Microsoft.AspNetCore.Components.Server
- Remplacez
services.AddServerSideBlazor
par services.AddRazorComponents
et app.UseServerSideBlazor
par app.UseRazorComponents
. - Dans la méthode
Startup.Configure
, ajoutez app.UseStaticFiles()
juste avant d'appeler app.UseRazorComponents
. - Déplacez le dossier wwwroot du projet d'application Blazor vers le projet de serveur ASP.NET Core
Basculement entre les composants ASP.NET Core Razor et Blazor cÎté client
Parfois, il est pratique de pouvoir basculer entre l'exécution de vos composants Razor sur le serveur (ASP.NET Core Razor Components) et sur le client (Blazor). Par exemple, vous pouvez exécuter sur le serveur pendant le développement afin de pouvoir facilement déboguer, puis publier votre application pour qu'elle s'exécute sur le client.
Pour mettre Ă jour une application Blazor hĂ©bergĂ©e par ASP.NET Core afin qu'elle puisse ĂȘtre exĂ©cutĂ©e en tant qu'application de composants de rasoir ASP.NET Core:
- Déplacez le dossier wwwroot du projet Blazor cÎté client vers le projet de serveur ASP.NET Core.
- Dans le projet serveur:
- Mettez Ă jour la balise de script dans index.html pour pointer vers components.server.js au lieu de components.webassembly.js .
- Ajoutez un appel Ă
services.AddRazorComponents<Client.Startup>()
dans la méthode Startup.ConfigureServices
. - Ajoutez un appel Ă
app.UseStaticFiles()
dans la méthode Startup.Configure
avant l'appel Ă UseMvc
. - Remplacez l'appel Ă
UseBlazor
par app.UseRazorComponents<Client.Startup>()
- Si vous utilisez l'injection de dépendance pour injecter un
HttpClient
dans vos composants, vous devrez ajouter un HttpClient
tant que service dans la méthode Startup.ConfigureServices
votre serveur.
L'outillage pour les projets Blazor est désormais inclus avec Visual Studio 2019
Auparavant, pour obtenir la prise en charge des outils pour les projets Blazor, vous aviez besoin d'installer l'extension Blazor pour Visual Studio. à partir de Visual Studio 2019 Preview 2, la prise en charge des outils pour les composants Razor (et donc les applications Blazor) est déjà incluse sans avoir à installer quoi que ce soit d'autre. L'extension Blazor est désormais uniquement nécessaire pour installer les modÚles de projet Blazor dans Visual Studio.
Améliorations de l'exécution
Blazor 0.8.0 inclut certaines améliorations de l'exécution .NET comme l'amélioration des performances d'exécution sur Chrome et un éditeur de liens IL amélioré. Dans nos tests de performances, les performances de Blazor 0.8.0 sur Chrome sont désormais environ 25% plus rapides. Vous pouvez désormais également référencer des bibliothÚques existantes comme Json.NET à partir d'une application Blazor sans aucune configuration de l'éditeur de liens supplémentaire:
@functions { WeatherForecast[] forecasts; protected override async Task OnInitAsync() { var json = await Http.GetStringAsync("api/SampleData/WeatherForecasts"); forecasts = Newtonsoft.Json.JsonConvert.DeserializeObject<WeatherForecast[]>(json); } }
ProblĂšmes connus
Il y a quelques problĂšmes connus avec cette version que vous pouvez rencontrer:
- "Il n'a pas été possible de trouver de version de framework compatible. Le cadre spécifié «Microsoft.NETCore.App», version «2.0.0» est introuvable. » : Vous pouvez voir cette erreur lors de la création d'une application Blazor car l'éditeur de liens IL nécessite actuellement .NET Core 2.x pour fonctionner. Pour contourner ce problÚme, installez .NET Core 2.2 ou désactivez la liaison IL en définissant la
<BlazorLinkOnBuild>false</BlazorLinkOnBuild>
dans votre fichier de projet. - "Impossible de gĂ©nĂ©rer deps.json, il est peut-ĂȘtre dĂ©jĂ gĂ©nĂ©rĂ©." : Vous pouvez voir cette erreur lors de l'exĂ©cution d'une application Blazor autonome et vous n'avez pas encore restaurĂ© les packages pour les applications .NET Core. Pour contourner ce problĂšme, crĂ©ez une application .NET Core (ex
dotnet new console
), puis réexécutez l'application Blazor.
Ces problÚmes seront traités dans une future mise à jour de Blazor.
Mises Ă jour futures
Cette version de Blazor était principalement axée sur l'intégration des composants Razor dans ASP.NET Core 3.0, puis sur la reconstruction de Blazor en plus de cela. à l'avenir, nous prévoyons d'envoyer des mises à jour Blazor avec chaque mise à jour .NET Core 3.0.
Blazor, et la prise en charge de l'exécution de Razor Components sur WebAssembly dans le navigateur, ne seront pas livrés avec .NET Core 3.0, mais nous continuons à travailler pour expédier Blazor à une date ultérieure.
Donner des commentaires
Nous espĂ©rons que vous apprĂ©cierez cette derniĂšre version prĂ©liminaire de Blazor. Comme pour les versions prĂ©cĂ©dentes, vos commentaires sont importants pour nous. Si vous rencontrez des problĂšmes ou avez des questions en essayant Blazor, signalez les problĂšmes sur GitHub . Vous pouvez Ă©galement discuter avec nous et la communautĂ© Blazor sur Gitter si vous ĂȘtes bloquĂ© ou pour partager comment Blazor travaille pour vous. AprĂšs avoir essayĂ© Blazor pendant un certain temps, faites-nous savoir ce que vous pensez en rĂ©pondant Ă notre enquĂȘte sur le produit. Cliquez sur le lien d'enquĂȘte affichĂ© sur la page d'accueil de l'application lorsque vous exĂ©cutez l'un des modĂšles de projet Blazor:

Merci d'avoir essayé Blazor!