La version expérimentale de Blazor 0.8.0 est maintenant disponible

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:


  1. SDK .NET Core 3.0 Preview 2 (3.0.100-preview-010184)
  2. Visual Studio 2019 (Preview 2 ou version ultérieure) avec la charge de travail ASP.NET et de développement Web sélectionnée.
  3. La derniĂšre extension Blazor de Visual Studio Marketplace.
  4. 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:


EnquĂȘte Blazor


Merci d'avoir essayé Blazor!

Source: https://habr.com/ru/post/fr440544/


All Articles