Share via


Compilação XAML

Interface do usuário do aplicativo multiplataforma .NET (.NET MAUI) O XAML é compilado diretamente na linguagem intermediária (IL) com o compilador XAML (XAMLC). A compilação XAML oferece uma série de benefícios:

  • Ele executa a verificação em tempo de compilação de XAML, notificando-o de quaisquer erros.
  • Elimina parte da carga e do tempo de instanciação para elementos XAML.
  • Ajuda a reduzir o tamanho do arquivo do assembly final não incluindo mais arquivos .XAML.

A compilação XAML é habilitada por padrão em aplicativos .NET MAUI. Para aplicativos criados usando a configuração de depuração, a compilação XAML fornece validação em tempo de compilação de XAML, mas não converte o XAML em IL no assembly. Em vez disso, os arquivos XAML são incluídos como recursos incorporados no pacote do aplicativo e avaliados em tempo de execução. Para aplicativos criados usando a configuração de versão, a compilação XAML fornece validação em tempo de compilação de XAML e converte o XAML em IL que é gravado no assembly. No entanto, o comportamento de compilação XAML pode ser substituído em ambas as configurações com a XamlCompilationAttribute classe.

Importante

As associações compiladas podem ser habilitadas para melhorar o desempenho da vinculação de dados em aplicativos .NET MAUI. Para obter mais informações, confira Associações compiladas do Xamarin.Forms.

Desabilitar a compilação XAML

A compilação XAML pode ser desabilitada passando XamlCompilationOptions.Skip para o XamlCompilationAttribute:

[assembly: XamlCompilation(XamlCompilationOptions.Skip)]

Neste exemplo, a compilação XAML está desabilitada no assembly, com erros XAML sendo relatados em tempo de execução em vez de tempo de compilação.

A compilação XAML também pode ser desabilitada no nível de tipo:

[XamlCompilation (XamlCompilationOptions.Skip)]
public partial class MyPage : ContentPage
{
    ...
}

Neste exemplo, a compilação XAML está desabilitada somente para a MyPage classe.

Aviso

Desabilitar a compilação XAML não é recomendado porque o XAML é analisado e interpretado em tempo de execução, o que reduzirá o desempenho do aplicativo.

Habilitar compilação XAML

Como a compilação XAML é habilitada por padrão em aplicativos .NET MAUI, a remoção de quaisquer XamlCompilation(XamlCompilationOptions.Skip) instruções garantirá que a compilação XAML esteja habilitada.

Como alternativa, a compilação XAML pode ser habilitada à força passando XamlCompilationOptions.Compile para o XamlCompilationAttribute:

[assembly: XamlCompilation(XamlCompilationOptions.Compile)]

Neste exemplo, a compilação XAML está habilitada para todos os XAML contidos no assembly, com erros de XAML sendo relatados em tempo de compilação em vez de tempo de execução.

A compilação XAML também pode ser habilitada no nível de tipo:

[XamlCompilation (XamlCompilationOptions.Compile)]
public partial class MyPage : ContentPage
{
    ...
}

Neste exemplo, a compilação XAML está habilitada somente para a MyPage classe.