Compilazione XAML
XAML app multipiattaforma .NET (.NET MAUI) viene compilato direttamente in linguaggio intermedio (IL) con il compilatore XAML (XAMLC). La compilazione XAML offre diversi vantaggi:
- Esegue il controllo in fase di compilazione di XAML, notificando eventuali errori.
- Rimuove parte del tempo di carico e di creazione dell'istanza per gli elementi XAML.
- Consente di ridurre le dimensioni del file dell'assembly finale non includendo più i file XAML.
La compilazione XAML è abilitata per impostazione predefinita nelle app MAUI .NET. Per le app compilate usando la configurazione di debug, la compilazione XAML fornisce la convalida in fase di compilazione di XAML, ma non converte il codice XAML in IL nell'assembly. I file XAML vengono invece inclusi come risorse incorporate nel pacchetto dell'app e valutati in fase di esecuzione. Per le app compilate usando la configurazione della versione, la compilazione XAML fornisce la convalida in fase di compilazione di XAML e converte il codice XAML in IL scritto nell'assembly. Tuttavia, il comportamento di compilazione XAML può essere sottoposto a override in entrambe le configurazioni con la XamlCompilationAttribute classe .
Importante
Le associazioni compilate possono essere abilitate per migliorare le prestazioni del data binding nelle applicazioni MAUI .NET. Per altre informazioni, vedere Binding compilati.
Disabilitare la compilazione XAML
La compilazione XAML può essere disabilitata passando XamlCompilationOptions.Skip
a XamlCompilationAttribute:
[assembly: XamlCompilation(XamlCompilationOptions.Skip)]
In questo esempio la compilazione XAML viene disabilitata all'interno dell'assembly, con errori XAML segnalati in fase di esecuzione anziché in fase di compilazione.
La compilazione XAML può anche essere disabilitata a livello di tipo:
[XamlCompilation (XamlCompilationOptions.Skip)]
public partial class MyPage : ContentPage
{
...
}
In questo esempio la compilazione XAML è disabilitata solo per la MyPage
classe .
Avviso
La disabilitazione della compilazione XAML non è consigliata perché XAML viene quindi analizzato e interpretato in fase di esecuzione, riducendo così le prestazioni dell'app.
Abilitare la compilazione XAML
Poiché la compilazione XAML è abilitata per impostazione predefinita nelle app MAUI .NET, la rimozione di tutte XamlCompilation(XamlCompilationOptions.Skip)
le istruzioni garantisce che la compilazione XAML sia abilitata.
In alternativa, la compilazione XAML può essere abilitata forzatamente passando XamlCompilationOptions.Compile
a XamlCompilationAttribute:
[assembly: XamlCompilation(XamlCompilationOptions.Compile)]
In questo esempio la compilazione XAML è abilitata per tutto il codice XAML contenuto nell'assembly, con errori XAML segnalati in fase di compilazione anziché in fase di esecuzione.
La compilazione XAML può essere abilitata anche a livello di tipo:
[XamlCompilation (XamlCompilationOptions.Compile)]
public partial class MyPage : ContentPage
{
...
}
In questo esempio la compilazione XAML è abilitata solo per la MyPage
classe .