XAML-Kompilierung in Xamarin.FormsXAML Compilation in Xamarin.Forms

XAML kann optional auch direkt in intermediate Language (IL) mit dem XAML-Compiler (XAMLC) kompiliert werden.XAML can be optionally compiled directly into intermediate language (IL) with the XAML compiler (XAMLC).

XAML-Kompilierung bietet eine Reihe von Vorteilen:XAML compilation offers a number of a benefits:

  • Er führt eine XAML-Überprüfung zur Kompilierzeit durch und benachrichtigt den Benutzer über eventuelle Fehler.It performs compile-time checking of XAML, notifying the user of any errors.
  • Er entfernt etwas Lade- und Instanziierungszeit für XAML-Elemente.It removes some of the load and instantiation time for XAML elements.
  • Er hilft bei der Verringerung der Dateigröße der finalen Assembly, indem XAML-Dateien nicht mehr eingeschlossen werden.It helps to reduce the file size of the final assembly by no longer including .xaml files.

XAML-Kompilierung ist standardmäßig für die Abwärtskompatibilität sichergestellt deaktiviert.XAML compilation is disabled by default to ensure backwards compatibility. Es kann durch Hinzufügen der Assembly und Klasse-Ebene aktiviert werden die XamlCompilation Attribut.It can be enabled at both the assembly and class level by adding the XamlCompilation attribute.

Im folgenden Codebeispiel wird veranschaulicht, sodass XAML-Kompilierung auf der Assemblyebene:The following code example demonstrates enabling XAML compilation at the assembly level:

using Xamarin.Forms.Xaml;
...
[assembly: XamlCompilation (XamlCompilationOptions.Compile)]
namespace PhotoApp
{
  ...
}

In diesem Beispiel wird mit XAML-Fehlern, die zur Kompilierzeit statt zur Laufzeit gemeldet wird zur Kompilierzeit von allen XAML, die innerhalb der Assembly enthaltenen ausgeführt werden.In this example, compile-time checking of all the XAML contained within the assembly will be performed, with XAML errors being reported at compile-time rather than run-time. Aus diesem Grund die assembly Präfix für die XamlCompilation Attribut gibt an, dass das Attribut für die gesamte Assembly gilt.Therefore, the assembly prefix to the XamlCompilation attribute specifies that the attribute applies to the entire assembly.

Hinweis

Die XamlCompilation Attribut und die XamlCompilationOptions Enumeration befinden sich in der Xamarin.Forms.Xaml -Namespace, der für deren Verwendung importiert werden muss.The XamlCompilation attribute and the XamlCompilationOptions enumeration reside in the Xamarin.Forms.Xaml namespace, which must be imported to use them.

Im folgenden Codebeispiel wird veranschaulicht, sodass XAML-Kompilierung auf Klassenebene:The following code example demonstrates enabling XAML compilation at the class level:

using Xamarin.Forms.Xaml;
...
[XamlCompilation (XamlCompilationOptions.Compile)]
public class HomePage : ContentPage
{
  ...
}

In diesem Beispiel während der Kompilierung der XAML für die Überprüfung der HomePage Klasse erfolgen und Fehler, die als Teil des Kompilierungsprozesses gemeldet.In this example, compile-time checking of the XAML for the HomePage class will be performed and errors reported as part of the compilation process.

Hinweis

Kompilierte Bindungen können aktiviert werden, um die Bindung datenleistung in Xamarin.Forms-Anwendungen zu verbessern.Compiled bindings can be enabled to improve data binding performance in Xamarin.Forms applications. Weitere Informationen finden Sie unter kompiliert Bindungen.For more information, see Compiled Bindings.