Xamarin.Mac-Linkeroptionen
Verknüpfen ist ein leistungsstarkes Optimierungstool, das die Größe Ihrer Anwendung verringert, indem nicht verwendeter Code entfernt wird.
Übersicht
Die verfügbaren Linkeroptionen können auf Grundlage des Zielframeworks, das Ihr Projekt verwendet, eingeschränkt sein. Dies ist darauf zurückzuführen, dass für die Verknüpfung die Erstellung eines Objektgraphs von jedem von Ihrer Anwendung verwendeten Typ erforderlich ist. Für „Full“ (vollständig) (oder „Unsupported“ – Nicht unterstützt) ist dies aufgrund von „System.Configuration“ nicht möglich.
Es gibt vier Möglichkeiten:
- Keine – Deaktiviert alle Verknüpfungen. Standard bei der Debugkonfiguration in Modern und allen Konfiguration in Full (vollständig)
- SDK: Verknüpft alle SDK-Assemblys (Benutzerassemblys ausgenommen). Standard in der Releasekonfiguration in Modern. Für „Full“ (vollständig) nicht verfügbar.
- Full (vollständig): Verknüpfen aller Assemblys. Dies erfordert, dass Benutzercode für den Linker sicher ist. Weitere Informationen finden Sie in den Anmerkungen. Für „Full“ (vollständig) nicht verfügbar.
- Plattform: Verknüpft nur „Xamarin.Mac.dll“. Details finden Sie weiter unten.
Plattformverknüpfung
Das Verknüpfen von Anwendungen mithilfe des Zielframeworks „Full“ ist in der Regel nicht sicher. In einigen Fällen ist jedoch eine eingeschränkte Form des Verknüpfens erforderlich.
Anwendungen, die z.B. an den macOS App Store übermittelt werden, dürfen auf keine verwalteten APIs (wie etwa QTKit) verweisen, von denen Xamarin.Mac Bindungen enthält. Auch wenn eine Anwendung diese Bindungen nicht aufruft, ist der Aufruf jedoch im SDK vorhanden und wird abgelehnt.
Die Plattformverknüpfung geht davon aus, dass die Anwendung und BCL nicht sicher für den Linker sind und entfernt nicht verwendeten Code aus „Xamarin.Mac.dll“.
Alle Anwendungen, die sich nicht auf Xamarin.Mac.dll-Typen beziehen, erfahren eine geringe Leistungsverbesserung beim Start durch die Entfernung unnötiger Typen.
Die Plattformverknüpfung eignet sich in der Regel nur für Anwendung, die das Full-Zielframework verwenden, da die Modern-Anwendung die leistungsstärkere SDK-Option verwenden kann.
Festlegen der Linkerkonfiguration
Um zur Linkerkonfiguration für ein Xamarin.Mac-Projekt zu wechseln, führen Sie folgende Schritte aus:
Öffnen Sie das Xamarin.Mac-Projekt in Visual Studio für Mac.
Doppelklicken Sie auf die Projektdatei im Projektmappen-Explorer, um die Projektoptionen zu öffnen.
Wählen Sie auf der Registerkarte Mac-Build den Typ des Linkerverhaltens, der am besten zu Ihrer Anwendung passt:
Die Plattformverknüpfung für Full-Zielframeworks wird erst in einem späteren Update zur IDE hinzugefügt. Fügen Sie bis dahin stattdessen zu zusätzlichen mmp-Argumenten hinzu
--linkplatform
.Klicken Sie auf OK, um die Änderungen zu speichern.