Compilación XAML
XAML de la interfaz de usuario de aplicaciones multiplataforma (.NET MAUI) de .NET se compila directamente en lenguaje intermedio (IL) con el compilador XAML (XAMLC). La compilación XAML ofrece una serie de ventajas:
- Realiza la comprobación en tiempo de compilación de XAML y le notifica los errores.
- Reduce parte del tiempo de carga y creación de instancias para los elementos XAML.
- Facilita reducir el tamaño de archivo del ensamblado final al dejar de incluir archivos .xaml.
La compilación XAML está habilitada de forma predeterminada en .NET MAUI aplicaciones. Para las aplicaciones compiladas mediante la configuración de depuración, la compilación XAML proporciona validación en tiempo de compilación de XAML, pero no convierte el XAML a IL en el ensamblado. En su lugar, los archivos XAML se incluyen como recursos incrustados en el paquete de aplicación y se evalúan en tiempo de ejecución. En el caso de las aplicaciones compiladas mediante la configuración de versión, la compilación XAML proporciona validación en tiempo de compilación de XAML y convierte el XAML en IL que se escribe en el ensamblado. Sin embargo, el comportamiento de compilación XAML se puede invalidar en ambas configuraciones con la XamlCompilationAttribute clase .
Habilitación de la compilación
La compilación XAML se puede habilitar pasando XamlCompilationOptions.Compile a XamlCompilationAttribute:
[assembly: XamlCompilation(XamlCompilationOptions.Compile)]
En este ejemplo, la compilación XAML está habilitada para todo el XAML incluido en el ensamblado, con errores XAML que se notifican en tiempo de compilación en lugar de en tiempo de ejecución.
Sugerencia
Aunque se XamlCompilationAttribute puede colocar en cualquier lugar, un buen lugar para colocarlo es en AssemblyInfo.cs.
La compilación XAML también se puede habilitar en el nivel de tipo:
[XamlCompilation (XamlCompilationOptions.Compile)]
public partial class MyPage : ContentPage
{
...
}
En este ejemplo, la compilación XAML solo está habilitada para la MyPage clase .
Nota
Los enlaces compilados se pueden habilitar para mejorar el rendimiento del enlace de datos .NET MAUI aplicaciones. Para obtener más información, vea Enlaces compilados.
Deshabilitación de la compilación
La compilación XAML se puede deshabilitar pasando XamlCompilationOptions.Skip a XamlCompilationAttribute:
[assembly: XamlCompilation(XamlCompilationOptions.Skip)]
En este ejemplo, la compilación XAML está deshabilitada dentro del ensamblado, y los errores XAML se notifican en tiempo de ejecución en lugar de en tiempo de compilación.
La compilación XAML también se puede deshabilitar en el nivel de tipo:
[XamlCompilation (XamlCompilationOptions.Skip)]
public partial class MyPage : ContentPage
{
...
}
En este ejemplo, la compilación XAML solo está deshabilitada para la MyPage clase .
Advertencia
No se recomienda deshabilitar la compilación XAML porque XAML se analiza e interpreta en tiempo de ejecución, lo que reducirá el rendimiento de la aplicación.