Freigeben über


Xamarin Apple-Projektmigration

Ein .NET 8-Projekt für eine .NET for iOS-App ähnelt dem folgenden Beispiel:

<Project Sdk="Microsoft.NET.Sdk">
  <PropertyGroup>
    <TargetFramework>net8.0-ios</TargetFramework>
    <OutputType>Exe</OutputType>
    <Nullable>enable</Nullable>
    <ImplicitUsings>true</ImplicitUsings>
    <SupportedOSPlatformVersion>13.0</SupportedOSPlatformVersion>
  </PropertyGroup>
</Project>

Für ein Bibliotheksprojekt lassen Sie die Eigenschaft $(OutputType) ganz weg oder geben Sie Library als Eigenschaftswert an.

Änderungen an MSBuild-Eigenschaften

Die folgende Tabelle zeigt, wie Sie Eigenschaften in Xamarin Apple-Projekten zu .NET-Projekten zuordnen können:

Eigenschaft Beschreibung .NET Projektkonvertierung
MtouchExtraArgs Zusätzliche Argumente für Mtouch. Einige Argumente sind weiterhin anwendbar, einige Argumente sind nicht vorhanden. Kopieren
MtouchArch App-Architektur(en) Nicht zutreffend Konvertieren in RuntimeIdentifier. Weitere Informationen finden Sie unter Konvertieren in RuntimeIdentifier".
XamMacArch App-Architektur(en) Nicht zutreffend Konvertieren in RuntimeIdentifier. Weitere Informationen finden Sie unter Konvertieren in RuntimeIdentifier".
HttpClientHandler Der standardmäßige HttpClientHandler. UseNativeHttpHandler Konvertieren in UseNativeHttpHandler. Weitere Informationen finden Sie unter Konvertieren in UseNativeHttpHandler.
MtouchHttpClientHandler Der Standardwert MtouchHttpClientHandler. UseNativeHttpHandler Konvertieren in UseNativeHttpHandler. Weitere Informationen finden Sie unter Konvertieren in UseNativeHttpHandler.
EnableCodeSigning Gibt an, ob Codesignieren aktiviert ist. Kopieren
CodeSigningKey Gibt den Codesignierschlüssel an. Umbenennen in CodesignKey
CodesignKey Gibt den Codesignierschlüssel an. Kopieren
CodesignProvision Gibt das Bereitstellungsprofil an. Kopieren
CodesignEntitlements Der Pfad zur Berechtigungsdatei. Kopieren
CodesignExtraArgs Zusätzliche Codesignierargumente. Kopieren
PackageSigningKey Gibt den Codesignierschlüssel an, um das Paket zu signieren. Kopieren
PackagingExtraArgs Gibt die zusätzlichen Argumente für das Verpackungstool an. Kopieren
ProductDefinition Der Pfad zur Produktdefinitionsdatei, die beim Verpacken verwendet werden soll. Kopieren
MtouchEnableSGenConc Umbenennen in EnableSGenConc.
EnableSGenConc Kopieren

In RuntimeIdentifier konvertieren

In der folgenden Tabelle wird gezeigt, wie die Eigenschaften MtouchArch und XamMacArch in die Eigenschaft RuntimeIdentifier oder die Eigenschaft RuntimeIdentifiers konvertiert werden, wenn sie ein Xamarin.iOS-Projekt zu .NET for iOS migrieren:

Wert RuntimeIdentifier RuntimeIdentifiers
ARMv7 ios-arm
ARMv7s ios-arm
ARMv7+ARMv7s ios-arm
ARM64 iOS (ARM64)
ARMv7+ARM64 ios-arm; ios-arm64
ARMv7+ARMv7s+ARM64 ios-arm; ios-arm64
x86_64 iossimulator-x64
i386 iossimulator-x86
x86_64+i386 iossimulator-x86; iossimulator-x64

Wichtig

Wenn Sie über mehrere Laufzeit-IDs verfügen, verwenden Sie die RuntimeIdentifiers-Eigenschaft anstelle der RuntimeIdentifier-Eigenschaft.

In der folgenden Tabelle wird gezeigt, wie die Eigenschaften MtouchArch und XamMacArch in die Eigenschaft RuntimeIdentifier konvertiert werden, wenn sie ein Xamarin.Mac-Projekt zu .NET for macOS+ migrieren:

Eigenschaft RuntimeIdentifier
x86_64 osx-x64

Die folgende Tabelle zeigt, wie die Eigenschaften MtouchArch und XamMacArch in die Eigenschaft RuntimeIdentifier konvertiert werden, wenn ein Xamarin.tvOS-Projekt nach .NET für tvOS migriert wird:

Eigenschaft RuntimeIdentifier
ARM64 tvos-arm64
x86_64 tvossimulator-x64

Für weitere Informationen über die RuntimeIdentifier-Eigenschaft, siehe RuntimeIdentifier. Weitere Informationen zu Laufzeitbezeichnern finden Sie unter .NET RID Catalog.

In UseNativeHttpHandler konvertieren

Die folgende Tabelle zeigt, wie die HttpClientHandler- und MtouchHttpClientHandler-Eigenschaften in die UseNativeHttpHandler-Eigenschaft konvertiert werden, wenn ein Xamarin Apple-Projekt nach .NET 8 migriert wird:

Wert UseNativeHttpHandler
HttpClientHandler false
NSUrlSessionHandler nicht festlegen
CFNetworkHandler nicht festlegen

Änderungen an anderen Elementen

Die folgende Tabelle zeigt, wie Sie andere Elemente in Xamarin Apple-Projekten zu .NET-Projekten zuordnen können:

Artikel Beschreibung .NET Projektkonvertierung
LinkDescription Zusätzliche XML-Dateien für den verwalteten Linker. Identisch: Kopieren

Änderungen an Info.plist

Einige Werte wurden von Info.plist in die Projektdatei verschoben.

MinimumOSVersion und LSMinimumSystemVersion

Die Eigenschaften MinimumOSVersion und LSMinimumSystemVersion sollten in .NET 8-Projekten in die Eigenschaft SupportedOSPlatformVersion umgewandelt werden. Weitere Informationen finden Sie unter Sicherstellen, dass MinimumOSVersion mit SupportedOSPlatformVersion übereinstimmt.

Weitere Informationen