Project-Konfiguration für .NET MAUI-Apps

.NET MAUI verwendet ein Einzelprojektsystem , um die Konfiguration Ihrer plattformübergreifenden App zu verwalten. Die Projektkonfiguration in .NET MAUI ähnelt anderen Projekten in Visual Studio, klicken Sie im Projektmappen-Explorer mit der rechten Maustaste auf das Projekt, und wählen Sie "Eigenschaften" aus.

Application

Im Abschnitt "Anwendung" werden einige Einstellungen beschrieben, die angeben, auf welche Plattformen Ihre App abzielt, sowie die Ausgabedatei und der Standardnamespace.

  • Allgemein

    Beschreibt einige grundlegende Einstellungen für Ihre App.

    Setting Standardwert Beschreibung
    Assemblyname $(MSBuildProjectName) Gibt den Namen der Ausgabedatei an, die das Assemblymanifest enthält.
    Standard-Namensraum Unterschiedlich Gibt den Basisnamespace für Dateien an, die Ihrem Projekt hinzugefügt wurden. Dies ist in der Regel 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.

    Setting Standardwert Beschreibung
    Zielen Sie auf die iOS-Plattform ab Geprüft Gibt an, dass dieses Projekt auf die iOS-Plattform ausgerichtet ist.
    Ziel-iOS-Framework net8.0-ios Zielframework Moniker, der für iOS verwendet wurde.
    Minimales 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.

    Setting Standardwert Beschreibung
    Zielen Sie auf die Android-Plattform ab Geprüft Wenn diese Option aktiviert ist, wird das .NET MAUI-Projekt auf eine Android-Version Ihrer App abzielen und diese erstellen. Entfernen Sie das Häkchen, um das Android-Ziel zu deaktivieren.
    Android-Framework als Ziel net8.0-android Der Target-Framework-Moniker, welcher für Android verwendet wurde.
    Mindest-Zielversion für Android 21.0 Die Mindestversion von Android, auf die Ihre App ausgerichtet ist.
  • Windows-Ziele

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

    Setting Standardwert Beschreibung
    Für die Windows-Plattform entwickeln Geprüft Wenn diese Option aktiviert ist, wird das .NET MAUI-Projekt eine Windows-Version Ihrer App anvisieren und erstellen. Deaktivieren Sie die Auswahl des Windows-Ziels.
    Windows Framework als Ziel net8.0-windows10.0.19041.0 Das Target Framework Moniker, das zur Zielbestimmung für Windows verwendet wird.
    Mindestanforderung für Windows Framework 10.0.17763.0 Die Mindestversion von Windows, auf die Ihre App ausgerichtet ist.

Build

Im Abschnitt " Build " werden die Einstellungen für die Kompilierung Ihrer App beschrieben.

Allgemein

Einstellungen im Zusammenhang mit Zielplattformen.

  • Symbole für die bedingte Kompilierung

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

  • Plattformziel

    Gibt den Prozessor an, der von der Ausgabedatei adressiert werden soll. Wählen Sie Any CPU aus, ob ein Prozessor akzeptabel ist, sodass die Anwendung auf dem größten Hardwarebereich ausgeführt werden kann.

    In der Regel wird dies auf Any CPU festgelegt, und die Laufzeitkennzeicheneinstellung wird verwendet, um eine CPU-Plattform zu spezifizieren.

    Auswahl Beschreibung
    Any CPU (Standard) Kompiliert Ihre Assembly, um sie auf einer beliebigen Plattform auszuführen. 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 Ihre Assembly wird kompiliert, um von der 32-Bit-, x86-kompatiblen Laufzeitumgebung ausgeführt zu werden.
    x64 Kompiliert die Assembly so, dass sie von der 64-Bit-Laufzeit auf einem Computer ausgeführt wird, der den AMD64- oder EM64T-Anweisungssatz unterstützt.
    ARM32 Kompiliert die Assembly so, dass sie auf einem Computer ausgeführt wird, der über einen Advanced RISC Machine (ARM)-Prozessor verfügt.
    ARM64 Kompiliert Ihre Assembly, damit sie von der 64-Bit-Laufzeitumgebung auf einem Computer ausgeführt wird, der über einen Advanced RISC Machine (ARM)-Prozessor verfügt und den A64-Befehlssatz unterstützt.
  • Nullable

    Gibt den projektweiten C#-Nullable-Kontext an. Weitere Informationen finden Sie unter Nullable Referenzen.

    Auswahl Beschreibung
    Nicht festgelegt (Standard) Wenn diese Einstellung nicht festgelegt ist, ist Disabledie Standardeinstellung .
    Disable Nullable-Warnungen sind deaktiviert. Alle Verweistypvariablen sind Nullable-Verweistypen.
    Enable Der Compiler aktiviert alle NULL-Referenzanalysen und alle Sprachfeatures.
    Warnings Der Compiler führt alle NULL-Analysen aus und gibt Warnungen aus, wenn Code null ableiten kann.
    Annotations Der Compiler führt keine NULL-Analyse aus oder gibt Warnungen aus, wenn Code null ableiten kann.
  • Implizite globale Verwendungen

    Ermöglicht implizite globale Verwendungen, die vom Project SDK deklariert werden. Dies ist standardmäßig aktiviert und importiert viele der .NET MAUI-Namespaces automatisch in alle Codedateien. Codedateien müssen keine Anweisungen using für allgemeine .NET MAUI-Namespaces hinzufügen. Weitere Informationen finden Sie unter MSBuild-Eigenschaften – ImplicitUsings.

  • Unsicherer Code

    Code zulassen, der das unsafe Schlüsselwort zum Kompilieren verwendet. Diese Einstellung ist standardmäßig deaktiviert.

  • Optimieren von Code

    Aktivieren Sie Compileroptimierungen für kleinere, schnellere und effizientere Ausgaben. Es gibt eine Option für jede Zielplattform im Debug- oder Releasemodus. Im Allgemeinen ist dies für den Release-Modus aktiviert, da der Code in Bezug auf Geschwindigkeit optimiert wird, was jedoch auf Kosten hilfreicher Debugginginformationen geschieht.

  • 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 Ebene an, die für Compilerwarnungen angezeigt werden soll.

  • Unterdrücken bestimmter Warnungen

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

  • Behandeln von Warnungen als Fehler

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

  • Behandeln bestimmter Warnungen als Fehler

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

Output

Einstellungen im Zusammenhang mit dem Generieren der Ausgabedatei.

  • Basisausgabepfad

    Gibt den Basisspeicherort für die Ausgabe des Projekts während des Buildprozesses 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 Erstellungsprozesses 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 Referenzassembly erstellt, die die öffentliche API des Projekts enthält. Diese Einstellung ist standardmäßig deaktiviert.

  • Dokumentationsdatei

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

Ereignisse

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

  • Vorab-Build-Ereignis

    Gibt Befehle an, die vor dem Start des Builds ausgeführt werden. Wird nicht ausgeführt, wenn das Projekt up-to-date ist. Ein Nicht-Null-Exit-Code führt zum Fehlschlagen des Builds, bevor er ausgeführt wird.

  • Post-Build-Ereignis

    Gibt Befehle an, die vor dem Start des Builds ausgeführt werden. Wird nicht ausgeführt, wenn das Projekt up-to-date ist. Ein Nicht-Null-Exit-Code führt zum Fehlschlagen des Builds, bevor er ausgeführt wird.

  • Wann das Postbuildereignis ausgeführt werden soll

    Gibt an, unter welcher Bedingung das Post-Build-Ereignis ausgeführt wird.

Starke Benennung

Einstellungen im Zusammenhang mit dem Signieren der Assembly.

  • Signieren Sie das Assembly

    Wenn diese Option aktiviert ist, wird die Ausgabeassembly signiert und mit einem starken Namen versehen.

Fortgeschritten

Zusätzliche Einstellungen im Zusammenhang mit dem Build.

  • Sprachversion

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

  • Überprüfen auf arithmetischen Überlauf

    Werfen Sie Ausnahmen, wenn ganzzahlige Arithmetik Werte außerhalb des gültigen Bereichs erzeugt. Diese Einstellung ist für jede Plattform verfügbar. Der Standardwert ist für jede Plattform deaktiviert.

  • Deterministic

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

  • Interne Compilerfehlerberichterstattung

    Senden sie interne Compilerfehlerberichte an Microsoft. Wird standardmäßig auf Prompt before sending festgelegt.

  • Dateiausrichtung

    Gibt in Bytes an, wo die Abschnitte der Ausgabedatei ausgerichtet werden sollen. Diese Einstellung ist für jede Plattform verfügbar. Der Standardwert ist 512 für jede Plattform.

Package

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

Allgemein

Einstellungen im Zusammenhang mit dem Generieren eines NuGet-Pakets.

  • NuGet-Paket auf Build generieren

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

  • Paket-ID

    Der Paketbezeichner, unabhängig von der Groß- und Kleinschreibung, der in der NuGet-Paketgalerie eindeutig sein muss, z. B. nuget.org. IDs dürfen weder Leerzeichen noch für URLs ungültige Zeichen enthalten und folgen in der Regel den .NET-Namespace-Regeln.

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

  • Title

    Ein benutzerfreundlicher Titel des Pakets, der typischerweise in Benutzeroberflächen wie auf nuget.org und im Paket-Manager von Visual Studio verwendet wird.

  • Paketversion

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

    Standardmäßig ist auf den MSBuild-Wert von $(ApplicationDisplayVersion) eingestellt.

  • Autoren

    Eine durch Trennzeichen getrennte Liste von Autoren, die den Profilnamen in nuget.org entsprechen. Diese werden im NuGet-Katalog auf nuget.org angezeigt und werden für Querverweispakete von denselben Autoren verwendet.

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

  • Firma

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

    Standardmäßig ist auf den MSBuild-Wert von $(Authors) eingestellt.

  • Produkt

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

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

  • Beschreibung

    Eine 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, die häufig auf der Benutzeroberfläche und auf nuget.org angezeigt wird.

  • Ikone

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

  • README

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

  • Repository-URL

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

  • Repository-Typ

    Gibt den Typ des Repositorys an. Der Standardwert ist "git".

  • Stichwörter

    Eine durch Semikolons getrennte Liste von Tags und Schlüsselwörtern, die das Paket beschreiben und die Auffindbarkeit der Pakete durch Suchen und Filtern unterstützen.

  • Veröffentlichungshinweise

    Eine Beschreibung der Änderungen, die in der Version des Pakets vorgenommen wurden, die häufig in der Benutzeroberfläche wie der Registerkarte "Updates" des Visual Studio-Paket-Managers anstelle der Paketbeschreibung verwendet werden.

  • Packen als .NET-Tool

    Wenn aktiviert, 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 Paket abgelegt wird.

    Standardmäßig ist auf den MSBuild-Wert von $(OutputPath) eingestellt.

  • Assembly-neutrale Sprache

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

  • Assemblyversion

    Die Version der Assembly hat standardmäßig den Wert 1.0.0.0, falls nicht festgelegt.

  • Dateiversion

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

Lizenz

  • Paketlizenz

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

  • Symbole

    • Erstellen eines Symbolpakets

      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 Analysatoren

Einstellungen für den Zeitpunkt der Analyseausführung.

  • Ausführen auf Build

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

  • Ausführen einer Liveanalyse

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

.NET-Analyse

Einstellungen im Zusammenhang mit .NET-Analysegeräten.

  • Erzwingen des Code-Stils beim Build (experimentell)

    Wenn diese Option aktiviert ist, werden Diagnosen zum Codestil beim Build erstellt. Diese Einstellung ist standardmäßig deaktiviert.

  • Aktivieren von .NET-Analyzern

    Wenn diese Option aktiviert ist, werden .NET-Analyzer zur Unterstützung der API-Verwendung ausgeführt. Standardmäßig aktiviert.

  • Analyseebene

    Der Satz von Analysegeräten, 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.

  • Anwendungstitel

    Der Anzeigename der Anwendung.

  • Anwendungs-ID

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

  • Anwendungs-ID (GUID)

    Der Bezeichner der Anwendung im GUID-Format.

  • Anwendungsanzeigeversion

    Die Anzeigeversion der Anwendung. Dies sollte höchstens eine dreiteilige Versionsnummer wie 1.0.0 sein.

  • Anwendungsversion

    Die Version der Anwendung. Dies sollte eine ganzzahlige Zahl sein, z. B. 1.

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 es nicht festgelegt ist, wird die Bezeichnung der MainActivity der App als Anwendungsname verwendet. Die Standardeinstellung lautet @string/app_name und bezieht sich auf den Ort der Zeichenfolgenressource app_name in Resources/values/Strings.xaml.

  • Anwendungspaketname

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

  • 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.

  • Anwendungsdesign

    Legt den UI-Stil fest, der auf die gesamte App angewendet wird. Jede Ansicht in der App verwendet die Stilattribute, die im ausgewählten Design definiert sind.

  • Anwendungsversionsnummer

    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, es wird benutzern nicht angezeigt.

  • Anwendungsversionsname

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

  • Installationsort

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

    Auswahl Beschreibung
    Internal-only (Standard) Gibt an, dass die App nicht installiert oder in 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.
  • Mindestversion von Android

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

  • 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. Auch bekannt als targetSdkVersion sollte dies dem Zielframework compileSdkVersion entsprechen.

Options

Verschiedene Optionen zum Erstellen einer Android-App.

  • Android-Paketformat

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

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

    Der Standardwert ist apk.

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

    • AndroidUseAapt2 ist auf True festgelegt.
    • AndroidUseApkSigner ist auf False festgelegt.
    • AndroidCreatePackagePerAbi ist auf False festgelegt.
  • Schnelle Bereitstellung (nur Debugmodus)

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

    Diese Einstellung ist standardmäßig aktiviert.

  • Generieren pro ABI

    Wenn diese Option aktiviert ist, wird ein Android-Paket (APK) für jede ausgewählte Application Binary Interface (ABI) generiert. Diese Einstellung ist standardmäßig deaktiviert.

  • Inkrementelle Verpackung verwenden

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

  • Multidex

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

  • Code-Schrumpfer

    Wählt den zu verwendenden Code-Reduzierer aus.

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

    Lässt die angegebenen Ressourcenerweiterungen unkomprimiert. Trennen Sie Erweiterungen mit einem Semikolon ;. Beispiel: .mp3;.dll;.png.

  • Entwicklerinstrumentation

    Wenn diese Option aktiviert ist, wird die Entwicklerinstrumentation 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

    Aktiviert die Ahead-of-Time (AOT)-Kompilierung. 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.

  • Müllabfuhr

    Wenn diese Option aktiviert ist, wird der gleichzeitige Garbage Collector verwendet. Standardmäßig aktiviert.

  • Trimmen aktivieren

    Wenn diese Option aktiviert ist, wird die Anwendung beim Veröffentlichen gekürzt. Dies kann für die einzelnen Debug- und Releasemodi festgelegt werden. Weitere Informationen finden Sie unter Kürzen eigenständiger Bereitstellungen und ausführbarer Dateien und Trim-Optionen.

    Der Standardwert ist für Releasebuilds aktiviert.

  • Kürzen der Granularität

    Steuert, wie aggressiv IL verworfen wird. Es gibt zwei Modi, aus denen Sie auswählen können:

    • Link ermöglicht das Kürzen auf der Ebene der Mitglieder, wodurch nicht verwendete Member aus Typen entfernt werden.
    • CopyUsed (Standardeinstellung) aktiviert die Kürzung auf Assemblyebene, wodurch eine gesamte Assembly beibehalten wird, wenn ein 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. Zum Beispiel erhöht ein Wert von 2G die Heapgröße auf 2 Gigabyte. Beachten Sie, dass es keine Garantie dafür gibt, wie groß der Heap sein wird, und das Anfordern von zu viel Heapspeicher kann dazu führen, dass andere Apps vorzeitig beendet werden.

    Der Standardwert lautet 1G.

  • Zusätzliche Java-Optionen

    Gibt zusätzliche Befehlszeilenoptionen an, die beim Erstellen einer DEX-Datei an den Java-Compiler übergeben werden sollen. Über die Befehlszeile können Sie eingeben java -help , um die verfügbaren Optionen anzuzeigen.

Paketsignierung

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

Ios

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

Build

Einstellungen zum Erstellen 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 einem dieser Elemente ein Preserve-Attribut hinzufügen, um zu verhindern, dass der Linker es entfernt, wenn es für die Serialisierung oder Reflexion 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 (Standardwert)
    • 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.

  • Symbole

    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 Anwendungsbundlingcode übergeben werden sollen.

  • Optimierung

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

Bündelsignierung

Diese Einstellungen beziehen sich auf das Generieren und Signieren des App-Bündels.

  • Scheme

    Konfiguriert das Signaturschema für das Bundle. Sie kann auf einen der folgenden Werte festgelegt 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.
  • Signieren der Identität

    Die Signaturidentität ist das Paar aus Zertifikat und privatem Schlüssel, das für das Signieren von App-Bündeln mit dem Codesign-Dienstprogramm von Apple verwendet wird.

    • Developer (automatic) (Standardwert)
    • Distribution (automatic)
  • Bereitstellungsprofil

    Bereitstellungsprofile sind eine Möglichkeit, ein Team von Entwicklern 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 als Bundle-Bezeichner bezeichnet) 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 Bündelbezeichner 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 Codesign-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, dies ist unbedingt erforderlich.

  • Zusätzliche Argumente

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

Debuggen

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. Debugprofile 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-Ressourcen

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 mit dem Herunterladen der App aus dem App Store heruntergeladen werden. Trennen Sie Tags mit einem Semikolon ;.

  • Bestellung vorab abrufen

    Die Tags der On-Demand-Ressourcen, die nach der Installation der App heruntergeladen werden. Trennen Sie Tags mit einem Semikolon ;.

  • Embed

    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

    Zusätzliche Befehlszeilenargumente, die an mlaunch übergeben werden.

  • Umgebungsvariablen

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