Configurer l’éditeur de liens pour ASP.NET Core BlazorConfigure the Linker for ASP.NET Core Blazor

Par Luke LathamBy Luke Latham

Important

Webassembly éblouissant dans la version préliminaireBlazor WebAssembly in preview

Le serveur éblouissant est pris en charge dans ASP.net Core 3,0.Blazor Server is supported in ASP.NET Core 3.0. Le Webassembly éblouissant est en version préliminaire pour ASP.net Core 3,1.Blazor WebAssembly is in preview for ASP.NET Core 3.1.

Blazor effectue une liaison de langage intermédiaire (IL) pendant un build de mise en production pour supprimer un langage intermédiaire inutile des assemblys de sortie de l’application.Blazor performs Intermediate Language (IL) linking during a Release build to remove unnecessary IL from the app's output assemblies.

Contrôlez la liaison d’assembly avec l’une des approches suivantes :Control assembly linking using either of the following approaches:

Désactiver la liaison avec une propriété MSBuildDisable linking with a MSBuild property

La liaison est activée par défaut dans le mode de mise en production quand une application est générée, ce qui inclut la publication.Linking is enabled by default in Release mode when an app is built, which includes publishing. Pour désactiver la liaison pour tous les assemblys, définissez la propriété MSBuild BlazorLinkOnBuild sur false dans le fichier projet :To disable linking for all assemblies, set the BlazorLinkOnBuild MSBuild property to false in the project file:

<PropertyGroup>
  <BlazorLinkOnBuild>false</BlazorLinkOnBuild>
</PropertyGroup>

Contrôler la liaison avec un fichier de configurationControl linking with a configuration file

Contrôlez la liaison pour chaque assembly en fournissant un fichier de configuration XML et en spécifiant le fichier en tant qu’élément MSBuild dans le fichier projet :Control linking on a per-assembly basis by providing an XML configuration file and specifying the file as a MSBuild item in the project file:

<ItemGroup>
  <BlazorLinkerDescriptor Include="Linker.xml" />
</ItemGroup>

Linker.xml :Linker.xml:

<?xml version="1.0" encoding="UTF-8" ?>
<!--
  This file specifies which parts of the BCL or Blazor packages must not be
  stripped by the IL Linker even if they aren't referenced by user code.
-->
<linker>
  <assembly fullname="mscorlib">
    <!--
      Preserve the methods in WasmRuntime because its methods are called by 
      JavaScript client-side code to implement timers.
      Fixes: https://github.com/aspnet/Blazor/issues/239
    -->
    <type fullname="System.Threading.WasmRuntime" />
  </assembly>
  <assembly fullname="System.Core">
    <!--
      System.Linq.Expressions* is required by Json.NET and any 
      expression.Compile caller. The assembly isn't stripped.
    -->
    <type fullname="System.Linq.Expressions*" />
  </assembly>
  <!--
    In this example, the app's entry point assembly is listed. The assembly
    isn't stripped by the IL Linker.
  -->
  <assembly fullname="MyCoolBlazorApp" />
</linker>

Pour plus d’informations, consultez l' éditeur de liens il : syntaxe du descripteur XML.For more information, see IL Linker: Syntax of xml descriptor.