Freigeben über


Projekt-Konfiguration für .NET MAUI-Apps

.NET MAUI nutzt zur Verwaltung der Konfiguration Ihrer plattformübergreifenden App ein Einzelprojektsystem. Die Projektkonfiguration in .NET MAUI ist ähnlich wie bei anderen Projekten in Visual Studio. Klicken Sie im Projektmappen-Explorer mit der rechten Maustaste auf das Projekt, und wählen Sie Eigenschaften.

Application

Im Abschnitt Anwendung werden einige Einstellungen beschrieben, die sich darauf beziehen, auf welche Plattformen Ihre App ausgerichtet ist, sowie die Ausgabedatei und den Standard-Namespace.

  • Allgemein

    Beschreibt einige grundlegende Einstellungen für Ihre App

    Einstellung Standardwert Beschreibung
    Assemblyname $(MSBuildProjectName) Gibt den Namen der Ausgabedatei an, in der das Assemblymanifest enthalten ist.
    Standardnamespace Verschiedene Ursachen. Gibt den Basis-Namenspace für Dateien an, die Ihrem Projekt hinzugefügt werden. Dies ist standardmäßig der Name Ihres Projekts oder ein Wert, den Sie beim Erstellen des Projekts angegeben haben.
  • iOS-Ziele

    Wenn Sie iOS und macOS (mit Mac Catalyst) als Ziel festlegen möchten, beschreiben diese Einstellungen die iOS-Zielversion.

    Einstellung Standardwert Beschreibung
    Ziel der iOS-Plattform Überprüft Gibt an, dass dieses Projekt auf die iOS-Plattform ausgerichtet ist
    Ziel-iOS-Framework net8.0-ios Der Zielframeworkmoniker, der für iOS verwendet wird
    Mindest-Ziel-iOS-Framework 14.2 Die Mindestversion von iOS, auf die Ihre App ausgerichtet ist
  • Android-Ziele

    Wenn Sie Android als Ziel festlegen, beschreiben diese Einstellungen die Android-Zielversion.

    Einstellung Standardwert Beschreibung
    Auf Android-Plattform ausrichten Überprüft Wenn diese Option aktiviert ist, erstellt das .NET MAUI-Projekt eine Android-Version Ihrer App und ist auf sie ausgerichtet. Deaktivieren Sie das Android-Ziel.
    Ziel-Android-Framework net8.0-android Der Zielframeworkmoniker, der zur Ausrichtung auf Android genutzt wird
    Android-Mindestzielframework 21.0 Die Mindestversion von Android, für die Ihre Anwendung bestimmt ist
  • Windows-Ziele

    Bei einer Ausrichtung auf Windows beschreiben diese Einstellungen die Windows-Zielversion.

    Einstellung Standardwert Beschreibung
    Auf Windows-Plattform ausrichten Überprüft Wenn diese Option aktiviert ist, wird das .NET MAUI-Projekt eine Windows-Version Ihrer App anvisieren und erstellen. Deaktivieren Sie das Häkchen, um das Windows-Ziel zu deaktivieren.
    Windows Framework als Ziel net8.0-windows10.0.19041.0 Der Zielframeworkmoniker, der für Windows verwendet wird.
    Mindestziel-Framework für Windows 10.0.17763.0 Die Mindestversion von Windows, auf die Ihre App ausgerichtet ist.

Build

Der Abschnitt Build beschreibt die Einstellungen für die Kompilierung Ihrer App.

Allgemein

Einstellungen im Zusammenhang mit Zielplattformen.

  • Symbole für bedingte Kompilierung

    Gibt Symbole an, für die eine bedingte Kompilierung durchgeführt werden soll. Trennen Sie die Symbole mit einem Semikolon ;. Symbole können in Zielplattformen unterteilt werden. Weitere Informationen finden Sie unter Bedingte Kompilierung.

  • Zielplattform

    Gibt den Prozessor an, für den die Ausgabedatei konfiguriert ist. Wählen Sie Any CPU, um anzugeben, dass jeder Prozessor akzeptiert wird, sodass die Anwendung auf einer möglichst breiten Palette von Hardware laufen kann.

    In der Regel wird dieser Wert auf Any CPU gesetzt und die Laufzeitbezeichner-Einstellung wird verwendet, um eine CPU-Plattform anzusteuern.

    Option Beschreibung
    Any CPU (Standard) Kompiliert Ihre Assembly so, dass sie auf jeder Plattform läuft. Ihre Anwendung wird nach Möglichkeit als 64-Bit-Prozess ausgeführt und wechselt zurück zu 32-Bit, wenn nur dieser Modus verfügbar ist.
    x86 Kompiliert Ihre Assembly so, dass sie von der 32-Bit-x86-kompatiblen Laufzeitumgebung ausgeführt werden kann.
    x64 Kompiliert Ihr Assembly so, dass es von der 64-Bit-Laufzeitumgebung auf einem Computer ausgeführt werden kann, der den AMD64- oder EM64T-Befehlssatz unterstützt.
    ARM32 Kompiliert Ihr Assembly so, dass es auf einem Computer mit einem Advanced RISC Machine (ARM) Prozessor läuft.
    ARM64 Kompiliert Ihr Assembly so, dass es von der 64-Bit-Laufzeitumgebung auf einem Computer mit einem Advanced RISC Machine (ARM) Prozessor ausgeführt werden kann, der den A64-Befehlssatz unterstützt.
  • NULL zulassen

    Gibt projektübergreifend den C#-Nullable-Kontext an. Weitere Informationen finden Sie unter Nullbare Referenzen.

    Option Beschreibung
    Nicht festgelegt (Standard) Wenn diese Einstellung nicht vorgenommen wird, ist der Standardwert Disable.
    Disable Nullable-Warnungen sind deaktiviert. Alle Verweistypvariablen sind Nullable-Verweistypen.
    Enable Der Compiler ermöglicht alle Nullreferenzanalysen und alle Sprachfunktionen.
    Warnings Der Compiler führt alle Null-Analysen durch und gibt Warnungen aus, wenn Code Null dereferenzieren könnte.
    Annotations Der Compiler führt keine Null-Analyse durch und gibt keine Warnungen aus, wenn Code Null dereferenzieren könnte.
  • Implizite globale Verwendungen

    Ermöglicht die Deklaration von impliziten globalen Verwendungen durch das Projekt-SDK. Dies ist standardmäßig aktiviert und importiert viele der .NET MAUI-Namespaces automatisch in alle Codedateien. Code-Dateien müssen keine using-Anweisungen für gängige .NET MAUI-Namespaces hinzufügen. Weitere Informationen finden Sie unter MSBuild-Eigenschaften – ImplicitUsings.

  • Unsicherer Code

    Code, der das Schlüsselwort unsafe verwendet, darf kompiliert werden. Diese Einstellung ist standardmäßig deaktiviert.

  • Code optimieren

    Aktivieren Sie Compiler-Optimierungen für eine kleinere, schnellere und effizientere Ausgabe. Es gibt eine Option für jede Zielplattform im Debug- oder Releasemodus. Im Allgemeinen ist dies für den Releasemodus aktiviert, da der Code auf Kosten hilfreicher Debuginformationen für Geschwindigkeit optimiert ist.

  • Debugsymbole

    Gibt die Art der Debugsymbole an, die während des Builds erstellt wurden.

Fehler und Warnungen

Einstellungen im Zusammenhang mit der Behandlung von Fehlern und Warnungen während der Kompilierung.

  • Warnstufe

    Gibt die anzuzeigende Stufe für Compiler-Warnungen an.

  • Unterdrücken bestimmter Warnungen

    Blockiert das Generieren der angegebenen Warnungen durch den Compiler. Trennen Sie mehrere Warnungsnummern jeweils durch ein Komma ,oder Semikolon; voneinander.

  • Warnungen als Fehler behandeln

    Wenn diese Option aktiviert ist, weist sie den Compiler an, Warnungen als Fehler zu behandeln. Diese Einstellung ist standardmäßig deaktiviert.

  • Bestimmte Warnungen als Fehler behandeln

    Gibt an, welche Warnungen als Fehler behandelt werden. Trennen Sie mehrere Warnungsnummern jeweils durch ein Komma ,oder Semikolon; voneinander.

Output

Einstellungen im Zusammenhang mit dem Generieren der Ausgabedatei.

  • Basisausgabepfad

    Gibt den Basisspeicherort für die Ausgabe des Projekts während des Builds an. Unterordner werden an diesen Pfad angefügt, um die Projektkonfiguration zu unterscheiden.

    Wird standardmäßig auf .\bin\ festgelegt.

  • Basis-Zwischenausgabepfad

    Gibt den Basisspeicherort für die Zwischenausgabe des Projekts während des Builds an. Unterordner werden an den Pfad angefügt, um die Projektkonfiguration zu unterscheiden.

    Wird standardmäßig auf .\obj\ festgelegt.

  • Referenzassembly

    Wenn diese Option aktiviert ist, wird eine Referenz-Baugruppe erstellt, welche die öffentliche API des Projekts enthält. Diese Einstellung ist standardmäßig deaktiviert.

  • Dokumentationsdatei

    Wenn diese Option aktiviert ist, wird eine Datei mit dem Inhalt der API-Dokumentation generiert. Diese Einstellung ist standardmäßig deaktiviert.

Ereignisse

In diesem Abschnitt können Sie Befehle hinzufügen, die während des Erstellungsprozesses ausgeführt werden.

  • Ereignis vor der Erstellung

    Gibt Befehle an, die vor dem Start des Builds ausgeführt werden. Wird nicht ausgeführt, wenn das Projekt auf dem neuesten Stand ist. Ein Exit-Code ungleich Null führt dazu, dass der Erstellungsprozess fehlschlägt, bevor er ausgeführt wird.

  • Postbuildereignis

    Gibt Befehle an, die vor dem Start des Builds ausgeführt werden. Wird nicht ausgeführt, wenn das Projekt auf dem neuesten Stand ist. Ein Exit-Code ungleich Null führt dazu, dass der Erstellungsprozess fehlschlägt, bevor er ausgeführt wird.

  • Wann Sie das Post-Build-Ereignis ausführen sollten

    Gibt an, unter welcher Bedingung der Postbuild auch ausgeführt wird.

Starke Namen

Einstellungen für das Signieren der Baugruppe.

  • Die Baugruppe signieren

    Wenn diese Option aktiviert ist, wird die Ausgabebaugruppe signiert, um ihr einen eindeutigen Namen zu geben.

Erweitert

Zusätzliche Einstellungen im Zusammenhang mit der Erstellung.

  • Sprachversion

    Die Sprachversion, die für den Code im Projekt verfügbar ist. Wird standardmäßig auf 10.0 festgelegt.

  • Prüfung auf arithmetischen Überlauf

    Es werden Ausnahmen ausgelöst, wenn die Ganzzahlarithmetik Werte außerhalb des Bereichs erzeugt. Diese Einstellung ist für jede Plattformen verfügbar. Der Standardwert ist für jede Plattform deaktiviert.

  • Deterministisch

    Erstellen Sie die identische Kompilierungsausgaben für identische Eingaben. Diese Einstellung ist für jede Plattformen verfügbar. Der Standardwert ist für jede Plattform aktiviert.

  • Bericht für interne Compilerfehler

    Sendet interne Compiler-Fehlerberichte an Microsoft. Wird standardmäßig auf Prompt before sending festgelegt.

  • Dateianordnung

    Gibt die Ausrichtung der Abschnitte der Ausgabedatei in Bytes an. Diese Einstellung ist für jede Plattformen verfügbar. Der Standardwert ist 512 für jede Plattform.

Paket

Im Abschnitt Paket werden die Einstellungen zum Generieren eines NuGet-Pakets beschrieben.

Allgemein

Einstellungen im Zusammenhang mit dem Generieren eines NuGet-Pakets.

  • Generieren Sie bei der Erstellung ein NuGet-Paket.

    Wenn diese Option aktiviert ist, erzeugt sie eine NuGet-Paketdatei während der Erstellungsvorgänge. Diese Einstellung ist standardmäßig deaktiviert.

  • Paket-ID

    Die von der Groß- und Kleinschreibung unabhängige Paketkennung, die in der NuGet-Paketgalerie, z. B. nuget.org, eindeutig sein muss. IDs dürfen keine Leerzeichen oder Zeichen enthalten, die nicht für eine URL gültig sind, und folgen im Allgemeinen den .NET-Namespace-Regeln.

    Standardmäßig ist der MSBuild-Wert auf $(AssemblyName) eingestellt.

  • Titel

    Ein benutzerfreundlicher Titel des Pakets, der in der Regel in der Benutzeroberfläche wie auf nuget.org angezeigt wird und der Paket-Manager in Visual Studio.

  • Paketversion

    Die Version des Pakets, dem Muster major.minor.patch folgend. Versionsnummern können ein Vorabversionssuffix enthalten.

    Wird standardmäßig auf den Wert $(ApplicationDisplayVersion) festgelegt.

  • Autoren

    Eine durch Komma getrennte Liste von Autoren, die den Profilnamen entsprechen. Sie werden in der NuGet-Gallery unter nuget.org angezeigt und werden verwendet, um Querverweise auf Pakete der gleichen Autoren zu geben.

    Standardmäßig ist der MSBuild-Wert auf $(AssemblyName) eingestellt.

  • Firma

    Geben Sie den Namen das Unternehmen ein, das mit NuGet-Paket verbunden ist.

    Wird standardmäßig auf den Wert $(Authors) festgelegt.

  • Produkt

    Der Name des Produkts, das dem NuGet-Paket zugeordnet ist.

    Standardmäßig ist der MSBuild-Wert auf $(AssemblyName) eingestellt.

  • Beschreibung

    Eine ausführliche Beschreibung des Pakets für die Anzeige der Benutzeroberfläche.

  • Copyright

    Copyright-Informationen für das Paket.

  • Projekt-URL

    Eine URL für die Paket-Homepage, häufig auf der Benutzeroberfläche sowie auf nuget.org angezeigt.

  • Symbol:

    Das Symbolbild für das Paket. Die Größe der Bilddatei ist auf 1 MB begrenzt. Unterstützte Dateiformate sind JPEG und PNG. Eine Bildauflösung von 128 x 128 wird empfohlen.

  • Infodatei

    Das README-Dokument für das Paket. Muss eine Markdown-Datei (.md) sein.

  • Repository-URL

    Gibt die URL für das Repository an, in der sich der Quellcode für das Paket befindet und/oder aus der es erstellt wird. Verwenden Sie zum Verknüpfen mit der Projektseite stattdessen das Feld 'Projekt-URL'.

  • Repository-Typ

    Gibt den Verzeichnistyp an. Der Standardwert ist „git“.

  • Tags

    Eine durch Semikolon getrennte Liste von Tags und Schlüsselwörtern, die das Paket beschreiben und die Auffindbarkeit der Pakete durch Suche und Filtern erleichtern.

  • Anmerkungen zu dieser Version

    Eine Beschreibung der in der Paketversion vorgenommenen Änderungen, die häufig in der Benutzeroberfläche wie der Registerkarte „Updates“ des Visual Studio Package Manager anstelle der Paketbeschreibung verwendet wird.

  • Als .NET-Tool packen

    Wenn diese Option aktiviert ist, wird das Projekt als ein spezielles Paket gepackt, das eine Konsolenanwendung enthält, die über den Befehl „dotnet tool“ installiert werden kann. Diese Einstellung ist standardmäßig deaktiviert.

  • Paketausgabepfad

    Bestimmt den Ausgabepfad, in dem das gepackte Paket abgelegt wird.

    Wird standardmäßig auf den MSBuild-Wert von $(OutputPath) festgelegt.

  • Assembly-neutrale Sprache

    Welcher Sprachcode als neutrale Sprache betrachtet wird. Der Standardwert ist nicht festgelegt.

  • Assemblyversion

    Die Version der Assembly wird standardmäßig auf 1.0.0.0 festgelegt, wenn sie nicht eingestellt ist.

  • Dateiversion

    Die der Datei zugeordnete Version wird standardmäßig auf 1.0.0.0 festgelegt, wenn sie nicht eingestellt ist.

Lizenz

  • Paketlizenz

    Geben Sie eine Lizenz für das Projektpaket an. Wird standardmäßig auf None festgelegt.

  • Symbols

    • Ein Symbolpaket erstellen

      Wenn diese Option aktiviert ist, wird beim Packen des Projekts ein zusätzliches Symbolpaket erstellt. Diese Einstellung ist standardmäßig deaktiviert.

Codeanalyse

Einstellungen im Zusammenhang mit der Codeanalyse.

Alle Analysetools

Einstellungen im Zusammenhang mit der Ausführung der Analyse.

  • Auf Build ausführen

    Wenn diese Option aktiviert ist, wird die Codeanalyse auf dem Build ausgeführt. Standardmäßig ist diese Option aktiviert.

  • Liveanalyse ausführen

    Wenn diese Option aktiviert ist, wird die Codeanalyse während der Eingabe im Editor ausgeführt. Standardmäßig ist diese Option aktiviert.

.NET-Analyse

Einstellungen im Zusammenhang mit .NET-Analyzern.

  • Codestil beim Erstellen erzwingen (experimentell)

    Wenn diese Option aktiviert ist, wird eine Diagnose zum Codestil beim Build erstellt. Diese Einstellung ist standardmäßig deaktiviert.

  • Aktivieren von .NET-Analyzern

    Wenn diese Option aktiviert ist, werden .NET-Analyzer ausgeführt, um die API-Verwendung zu unterstützen. Standardmäßig ist diese Option aktiviert.

  • Analyseebene

    Der Satz von Analysetools, die im Projekt ausgeführt werden sollen. Wird standardmäßig auf Latest festgelegt. Weitere Informationen finden Sie unter MSBuild: AnalysisLevel.

MAUI Shared

Dies sind Projekteinstellungen für .NET MAUI, die auf allen Zielplattformen gemeinsam verwendet werden.

Allgemein

Allgemeine Einstellungen im Zusammenhang mit .NET MAUI.

  • Titel der Anwendung

    Der Anzeigename der Anwendung.

  • Anwendungs-ID

    Der Bezeichner der Anwendung im umgekehrten Domänennamensformat, z. B.: com.microsoft.maui.

  • Anwendungs-ID (GUID)

    Der Bezeichner der Anwendung im GUID-Format.

  • Anzeigeversion der Anwendung

    Die Version der Anwendung. Dies sollte eine einstellige ganze Zahl sein. Wird standardmäßig auf 1 festgelegt.

Android

Dies sind androidspezifische .NET MAUI-Einstellungen.

Manifest

Einstellungen im Zusammenhang mit dem Android-Manifest.

  • Anwendungsname

    Die Zeichenfolge, die als Name der Anwendung angezeigt wird. Dies ist der Name, der in der Titelleiste der App angezeigt wird. Wenn sie nicht festgelegt ist, wird die Bezeichnung der MainActivity-App als Anwendungsname verwendet. Die Standardeinstellung lautet @string/app_name, die sich auf den Speicherort der Zeichenfolgenressource app_name in Resources/values/Strings.xaml bezieht.

  • Anwendungspaketname

    Eine Zeichenfolge, die verwendet wird, um die Anwendung eindeutig zu identifizieren. In der Regel basiert der Paketname auf einer umgekehrten Domänennamenskonvention, z. B. com.company.appname.

  • Application Icon (Anwendungssymbol)

    Gibt die Anwendungssymbolressource an, die für die App angezeigt wird. Die Einstellung @drawable/icon bezieht sich auf die Bilddatei icon.png, die sich im Ordner Resources/mipmap befindet.

  • Anwendungsthema

    Legt den UI-Stil fest, der auf die gesamte App angewendet wird. Jede Ansicht in der App gilt für die Formatattribute, die im ausgewählten Design definiert sind.

  • App-Versionsnummer

    Ein ganzzahliger Wert größer als Null, der die Versionsnummer der App definiert. Höhere Zahlen deuten auf neuere Versionen hin. Dieser Wert wird programmgesteuert von Android und anderen Apps ausgewertet und Benutzern nicht angezeigt.

  • Name der Anwendungsversion

    Eine Zeichenfolge, die die Version der App für Benutzer angibt. Der Versionsname kann eine unformatierte Zeichenfolge oder ein Verweis auf eine Zeichenfolgenressource sein.

  • Installationsspeicherort

    Gibt eine Einstellung an, wo die App gespeichert werden soll, unabhängig davon, ob sie im internen oder externen Speicher gespeichert werden soll.

    Option Beschreibung
    Internal-only (Standard) Gibt an, dass die App nicht installiert oder in einen externen Speicher verschoben werden kann.
    Prefer external Gibt an, dass die App nach Möglichkeit im externen Speicher installiert werden soll.
    Prefer internal Gibt an, dass die App nach Möglichkeit im internen Speicher installiert werden soll.
  • Minimal zulässige Android-Version:

    Die älteste API-Ebene eines Android-Geräts, das die App installieren und ausführen kann. Wird auch als minSdkVersion bezeichnet.

  • Android-Zielversion:

    Die Ziel-API-Ebene des Android-Geräts, auf dem die App ausgeführt werden soll. Diese API-Ebene wird zur Laufzeit verwendet, im Gegensatz zu Target Framework, das zur Buildzeit verwendet wird. Android verwendet diese Version als Möglichkeit, die Vorwärtskompatibilität bereitzustellen. Wird auch als targetSdkVersion bezeichnet und sollte compileSdkVersion-Zielframework entsprechen

Optionen

Verschiedene Optionen zum Erstellen einer Android-App

  • Android-Paketformat

    Entweder apk oder bundle, wodurch die Android-Anwendung als APK-Datei bzw. als Android App Bundle verpackt wird Dies kann für Debug- und Releasemodi einzeln festgelegt werden.

    App-Bundles sind ein neues Format für Android-Releasebuilds, die für die Übermittlung auf Google Play vorgesehen sind.

    Der Standardwert ist apk.

    Wenn bundle ausgewählt ist, werden andere MSBuild-Eigenschaften festgelegt:

    • Für AndroidUseAapt2 ist True festgelegt.
    • Für AndroidUseApkSigner ist False festgelegt.
    • Für AndroidCreatePackagePerAbi ist False festgelegt.
  • Schnelle Bereitstellung (nur Debugmodus)

    Wenn dies aktiviert ist, wird die App schneller als normal auf dem Zielgerät bereitgestellt. Dieser Prozess beschleunigt den Build-/Bereitstellungs-/Debugzyklus, da das Paket nicht erneut installiert wird, wenn nur Assemblys geändert werden. Stattdessen werden nur die aktualisierten Assemblys erneut mit dem Zielgerät synchronisiert.

    Diese Einstellung ist standardmäßig aktiviert.

  • Generieren pro ABI

    Wenn dies aktiviert ist, wird ein Android-Paket (apk) pro ausgewählter Application Binary Interface (ABI) erstellt. Diese Einstellung ist standardmäßig deaktiviert.

  • Inkrementelle Verpackung verwenden

    Wenn dies aktiviert ist, wird das inkrementelle Android-Paketsystem (aapt2) verwendet. Diese Einstellung ist standardmäßig aktiviert.

  • Multi-Dex

    Wenn dies aktiviert ist, kann das Android-Buildsystem Multidex verwenden. Der Standardwert ist deaktiviert.

  • Code-Shrinker

    Wählt den zu verwendenden Code-Shrinker aus

    • ProGuard (Standard) wird als Legacy-Code-Shrinker betrachtet.
    • r8 ist das Tool der nächsten Generation, das Java-Byte-Code in optimierten Dex-Code konvertiert.
  • Nicht komprimierte Ressourcen

    Belässt die angegebenen Ressourcenerweiterungen im nicht komprimierten Zustand Separate Erweiterungen, durch Semikolon ; getrennt Beispiel: .mp3;.dll;.png

  • Entwicklungsinstrumentierung

    Wenn dies aktiviert ist, wird die Entwicklungsinstrumentierung zum Debuggen und zur Profilerstellung bereitgestellt. Dies kann für die einzelnen Debug- und Releasemodi festgelegt werden.

    Der Standardwert ist für Debugbuilds aktiviert.

  • Debugger

    Wählt den zu verwendenden Debugger aus. Der Standardwert ist .NET (Xamarin), der für verwalteten Code verwendet wird. Der C++-Debugger kann ausgewählt werden, um systemeigene Bibliotheken zu debuggen, die von der App verwendet werden.

  • AOT

    Ermöglicht die Ahead-of-Time-Kompilierung (AOT). Dies kann für die einzelnen Debug- und Releasemodi festgelegt werden.

    Der Standardwert ist für Releasebuilds aktiviert.

  • LLVM

    Aktiviert den LLVM-Optimierungscompiler. Der Standardwert ist deaktiviert.

  • Startablaufverfolgung

    Aktiviert die Startablaufverfolgung. Dies kann für die einzelnen Debug- und Releasemodi festgelegt werden.

    Der Standardwert ist für Releasebuilds aktiviert.

  • Garbage Collection

    Wenn diese Option aktiviert ist, wird der gleichzeitige Garbage Collector verwendet. Er ist in der Standardeinstellung aktiviert.

  • Kürzen aktivieren

    Wenn diese Option aktiviert ist, wird die Anwendung während der Veröffentlichung gekürzt. Dies kann für die einzelnen Debug- und Releasemodi festgelegt werden. Weitere Informationen finden Sie unter Trimmen von in sich geschlossenen Bereitstellungen und ausführbaren Dateien und Trim-Optionen

    Der Standardwert ist für Releasebuilds aktiviert.

  • Kürzungsgranularität

    Die folgenden Granularitätseinstellungen steuern, wie aggressiv nicht verwendete IL verworfen wird. Sie können zwischen zwei Modi wählen:

    • Link aktivieren Sie die Kürzung auf Memberebene, wodurch nicht verwendete Member aus Typen entfernt werden.
    • CopyUsed aktivieren Sie das Kürzen auf Assemblyebene, wodurch das gesamte Assembly erhalten bleibt, wenn ein beliebiger Teil davon verwendet wird.
  • Maximale Java-Heapgröße

    Legen Sie diesen Wert fest, um die Größe des Arbeitsspeichers zu erhöhen, den eine App verwenden kann. Beispielsweise erhöht ein Wert 2G die Heapgröße auf 2 Gigabyte. Beachten Sie, dass es keine Garantie dafür gibt, wie groß der Heap sein wird. Das Anfordern von zu viel Heapspeicher kann dazu führen, dass andere Apps vorzeitig beendet werden.

    Der Standardwert ist 1G.

  • Weitere Jave-Optionen

    Gibt zusätzliche Befehlszeilenoptionen zur Übergabe an den Java-Compiler bei der Erstellung einer .dex-Datei an. Über die Befehlszeile können Sie java -help eingeben, um die verfügbaren Optionen anzuzeigen.

Signieren von Paketen

Wenn diese Option aktiviert ist, signiert sie die .APK-Datei mit den Keystore-Details. Diese Einstellung ist standardmäßig deaktiviert.

iOS

Hierbei handelt es sich um iOS-spezifische .NET MAUI-Einstellungen.

Build

Einstellungen im Zusammenhang mit der Erstellung der iOS-App.

  • Linkerverhalten

    Der Linker kann nicht verwendete Methoden, Eigenschaften, Felder, Ereignisse, Strukturen und sogar Klassen entfernen, um die Gesamtgröße der Anwendung zu verringern. Sie können ein Preserve-Attribut hinzufügen, um zu verhindern, dass der Linker es entfernt, wenn es für die Serialisierung oder Spiegelung erforderlich ist.

    Warnung

    Wenn Sie dieses Feature aktivieren, kann das Debuggen beeinträchtigt werden, da dadurch Eigenschaftenaccessoren entfernt werden können, mit denen Sie den Zustand Ihrer Objekte überprüfen können.

    Folgende Optionen stehen zur Verfügung:

    • Don't link
    • Link Framework SDKs only (Standard)
    • Link All
  • LLVM

    Wenn diese Option aktiviert ist, wird der LLVM-optimierte Compiler verwendet. Dies kann für die einzelnen Debug- und Releasemodi festgelegt werden.

    Der Standardwert ist für Releasebuilds aktiviert.

  • Float-Vorgänge

    Führt alle 32-Bit-Float-Vorgänge als 64-Bit-Float-Vorgänge aus.

  • Symbols

    Wenn diese Option aktiviert ist, werden systemeigene Debugsymbole aus der Ausgabe entfernt. Diese Einstellung ist standardmäßig aktiviert.

  • Garbage Collector

    Wenn diese Option aktiviert ist, wird der gleichzeitige Garbage Collector verwendet. Diese Einstellung ist standardmäßig deaktiviert.

  • Zusätzliche Argumente

    Zusätzliche Befehlszeilenargumente, die an den Bundling-Code der Anwendung übergeben werden sollen.

  • Optimierung

    Wenn diese Option aktiviert ist, werden .PNG-Bilder optimiert. Diese Einstellung ist standardmäßig aktiviert.

Bundlesignierung

Diese Einstellungen beziehen sich auf das Generieren und Signieren des App-Bundles.

  • Schema

    Konfiguriert das Signaturschema für das Bundle. Es kann auf einen der folgenden Werte eingestellt werden:

    • Manual provisioning: Mit diesem Wert sind Sie dafür verantwortlich, Bereitstellungsprofile festzulegen und Zertifikate selbst zu signieren.
    • Automatic provisioning: (Standard) Mit diesem Wert legt Visual Studio Bereitstellungsprofile und Signaturzertifikate für Sie fest, wodurch die App-Bereitstellung beim Testen auf einem Gerät vereinfacht wird.
  • Signierungsidentität

    Eine Signierungsidentität ist das Paar aus Zertifikat und privatem Schlüssel, das für das Codesignatur-Dienstprogramm von Apple zum Signieren von App-Bundles verwendet wird.

    • Developer (automatic) (Standard)
    • Distribution (automatic)
  • Bereitstellungsprofil

    Bereitstellungsprofile sind eine Möglichkeit, ein Team von Entwickler*innen mit einer App-ID und potenziell einer Liste von Testgeräten zu verbinden. Die Liste der Bereitstellungsprofile wird so gefiltert, dass nur Bereitstellungsprofile angezeigt werden, die sowohl mit der ausgewählten Identität als auch mit der App-ID (auch Bundle-Bezeichner) in der Info.plist festgelegt sind. Wenn das gesuchte Bereitstellungsprofil nicht in der Liste enthalten ist, stellen Sie sicher, dass Sie eine kompatible Identität ausgewählt haben, und überprüfen Sie, ob der in Ihrer Info.plist festgelegte Bundle-Bezeichner korrekt ist.

  • Benutzerdefinierte Berechtigungen

    Die PLIST-Datei, die für Berechtigungen verwendet werden soll. Weitere Informationen finden Sie unter Berechtigungen.

  • Benutzerdefinierte Ressourcenregeln

    Die PLIST-Datei mit benutzerdefinierten Regeln, die vom Codesignatur-Dienstprogramm von Apple verwendet werden.

    Hinweis

    Ab Mac OSX 10.10 hat Apple die Verwendung von benutzerdefinierten Ressourcenregeln nicht mehr unterstützt. Daher sollte diese Einstellung vermieden werden, es sei denn, es ist unbedingt erforderlich.

  • Zusätzliche Argumente

    Zusätzliche Befehlszeilenargumente, die während der Codesignaturphase des Builds an das Codesign-Hilfsprogramm von Apple übermittelt werden sollen.

Debug

Dies sind Einstellungen im Zusammenhang mit dem Debuggen.

  • Debuggen

    Wenn diese Option aktiviert ist, wird das Debuggen aktiviert. Der Standardwert basiert auf dem aktuellen Profil. Debug-Profile aktivieren das Debuggen, während Releaseprofile das Debuggen deaktivieren.

  • Profilerstellung

    Wenn diese Option aktiviert ist, wird die Profilerstellung aktiviert.

IPA-Optionen

Wenn diese Option aktiviert ist, wird ein iTunes-Paketarchiv (IPA) erstellt.

On-Demand-Ressource

Einstellungen im Zusammenhang mit On-Demand-Ressourcen. Weitere Informationen finden Sie in der Apple-Entwicklerdokumentation – On-Demand Resources Essentials.

  • Anfängliche Tags

    Die Tags der On-Demand-Ressourcen, die gleichzeitig heruntergeladen werden, wird die App aus dem App Store heruntergeladen. Trennen Sie Einträge durch ein Semikolon (;).

  • Bestellung vorab abrufen

    Die Tags der On-Demand-Ressourcen, die nach der Installation der App heruntergeladen werden. Trennen Sie Einträge durch ein Semikolon (;).

  • Einbetten

    Wenn diese Option aktiviert ist, werden On-Demand-Ressourcen in das App-Bündel eingebettet. Diese Einstellung ist standardmäßig aktiviert. Deaktivieren Sie diese Einstellung, um den Webserver zu verwenden.

  • Webserver

    Der URI eines Webservers, auf dem On-Demand-Ressourcen gehostet werden.

Ausführungsoptionen

Optionen zum Ausführen der App auf einem iOS- oder macOS-Gerät.

  • Ausführungsmodus

    Diese Einstellung bestimmt, wie die App auf dem Zielgerät ausgeführt wird.

  • Startargumente

    Zusätzliche Befehlszeilenargumente, die an die App übergeben werden, wenn sie auf dem Gerät gestartet werden.

  • Zusätzliche mlaunch-Argumente

    Geben Sie die zusätzlichen Argumente an, die an den Befehl an mlaunch übergeben werden sollen.

  • Umgebungsvariablen

    Name-Wert-Paare von Umgebungsvariablen, die festgelegt werden sollen, wenn die App auf dem Gerät ausgeführt wird.