Configurar o Filtro para ASP.NET Core Blazor

Observação

Esta não é a versão mais recente deste artigo. Para informações sobre a versão vigente, confira a Versão do .NET 8 deste artigo.

Aviso

Esta versão do ASP.NET Core não tem mais suporte. Para obter mais informações, confira .NET e a Política de Suporte do .NET Core. Para informações sobre a versão vigente, confira a Versão do .NET 8 deste artigo.

Importante

Essas informações relacionam-se ao produto de pré-lançamento, que poderá ser substancialmente modificado antes do lançamento comercial. A Microsoft não oferece nenhuma garantia, explícita ou implícita, quanto às informações fornecidas aqui.

Para informações sobre a versão vigente, confira a Versão do .NET 8 deste artigo.

Este artigo explica como controlar o Filtro de Linguagem Intermediária (IL) ao criar um aplicativo Blazor.

O Blazor WebAssembly executa o corte do IL (linguagem intermediária) para reduzir o tamanho da saída publicada. O corte ocorre ao publicar um aplicativo.

O corte pode ter efeitos prejudiciais para o aplicativo publicado. Nos aplicativos que usam a reflexão, o IL Trimmer geralmente não pode determinar os tipos necessários para a reflexão em runtime e os cortam assim mesmo. Por exemplo, tipos de estrutura complexos para interoperabilidade JS, como o KeyValuePair, podem ser cortados e não estar disponíveis no runtime para chamadas de interoperabilidade JS. Nesses casos, recomendamos criar tipos personalizados próprios. O IL Trimmer também não consegue reagir ao comportamento dinâmico de um aplicativo em runtime. Para garantir que o aplicativo cortado funcione corretamente depois de implantado, teste a saída publicada com frequência durante o desenvolvimento.

Configuração

Para configurar o IL Trimmer, confira o artigo Opções de corte na documentação de Conceitos básicos do .NET, que inclui diretrizes sobre os seguintes assuntos:

  • Desabilitar o corte do aplicativo inteiro com a propriedade <PublishTrimmed> no arquivo de projeto.
  • Controlar o nível de agressividade do descarte da IL não utilizada pelo IL Trimmer.
  • Impedir que o IL Trimmer corte assemblies específicos.
  • Assemblies "raiz" para corte.
  • Avisos do Surface para tipos refletidos ao definir a propriedade <SuppressTrimAnalysisWarnings> como false no arquivo de projeto.
  • Controlar o corte de símbolos e o suporte ao depurador.
  • Definir os recursos do IL Trimmer para cortar recursos da biblioteca de estruturas.

Granularidade padrão do filtro

A granularidade padrão do filtro para aplicativos Blazor é de partial. Para cortar todos os assemblies, altere a granularidade para full no arquivo de projeto do aplicativo:

<ItemGroup>
  <TrimMode>full</TrimMode>
</ItemGroup>

Para obter mais informações, confira Opções de corte (documentação do .NET).

Recursos adicionais