--- title: Configure the Linker for ASP.NET Core Blazor author: guardrex description: Learn how to control the Intermediate Language (IL) Linker when building a Blazor app. monikerRange: '>= aspnetcore-3.0' ms.author: riande ms.custom: mvc ms.date: 11/21/2019 no-loc: [Blazor] uid: host-and-deploy/blazor/configure-linker --- # Configure the Linker for ASP.NET Core Blazor By [Luke Latham](https://github.com/guardrex) [!INCLUDE[](~/includes/blazorwasm-preview-notice.md)] Blazor performs [Intermediate Language (IL)](/dotnet/standard/managed-code#intermediate-language--execution) linking during a build to remove unnecessary IL from the app's output assemblies. Control assembly linking using either of the following approaches: * Disable linking globally with a [MSBuild property](#disable-linking-with-a-msbuild-property). * Control linking on a per-assembly basis with a [configuration file](#control-linking-with-a-configuration-file). ## Disable linking with a MSBuild property Linking is enabled by default when an app is built, which includes publishing. To disable linking for all assemblies, set the `BlazorLinkOnBuild` MSBuild property to `false` in the project file: ```xml false ``` ## Control linking with a configuration file 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: ```xml ``` *Linker.xml*: ```xml ``` For more information, see [IL Linker: Syntax of xml descriptor](https://github.com/mono/linker/blob/master/src/linker/README.md#syntax-of-xml-descriptor). ### Configure the linker for internationalization By default, Blazor's linker configuration for Blazor WebAssembly apps strips out internationalization information except for locales explicitly requested. Removing these assemblies minimizes the app's size. To control which I18N assemblies are retained, set the `` MSBuild property in the project file: ```xml {all|none|REGION1,REGION2,...} ``` | Region Value | Mono region assembly | | ---------------- | ----------------------- | | `all` | All assemblies included | | `cjk` | *I18N.CJK.dll* | | `mideast` | *I18N.MidEast.dll* | | `none` (default) | None | | `other` | *I18N.Other.dll* | | `rare` | *I18N.Rare.dll* | | `west` | *I18N.West.dll* | Use a comma to separate multiple values (for example, `mideast,west`). For more information, see [I18N: Pnetlib Internationalization Framework Libary (mono/mono GitHub repository)](https://github.com/mono/mono/tree/master/mcs/class/I18N).