Поделиться через


Миграция проекта Xamarin Apple

Проект .NET 8 для приложения .NET для iOS аналогичен следующему примеру:

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

Для проекта библиотеки опустите $(OutputType) свойство полностью или укажите Library в качестве значения свойства.

Изменения свойств MSBuild

В следующей таблице показано, как сопоставить свойства в проектах Xamarin Apple с проектами .NET:

Свойство Description .NET Преобразование проекта
MtouchExtraArgs Дополнительные аргументы для mtouch. Некоторые аргументы по-прежнему применимы, некоторые аргументы не являются. Копия
MtouchArch Архитектура приложений. Н/П Преобразование в RuntimeIdentifier. Дополнительные сведения см. в разделе "Преобразование в RuntimeIdentifier".
XamMacArch Архитектура приложений. Н/П Преобразование в RuntimeIdentifier. Дополнительные сведения см. в разделе "Преобразование в RuntimeIdentifier".
HttpClientHandler Значение по умолчанию HttpClientHandler. UseNativeHttpHandler Преобразование в UseNativeHttpHandler. Дополнительные сведения см. в разделе "Преобразование в UseNativeHttpHandler".
MtouchHttpClientHandler Значение по умолчанию MtouchHttpClientHandler. UseNativeHttpHandler Преобразование в UseNativeHttpHandler. Дополнительные сведения см. в разделе "Преобразование в UseNativeHttpHandler".
EnableCodeSigning Указывает, включена ли подпись кода. Копия
CodeSigningKey Указывает ключ подписывания кода. Переименование в CodesignKey
CodesignKey Указывает ключ подписывания кода. Копия
CodesignProvision Указывает профиль подготовки. Копия
CodesignEntitlements Путь к файлу прав. Копия
CodesignExtraArgs Дополнительные аргументы подписывания кода. Копия
PackageSigningKey Указывает ключ подписи кода для подписывания пакета. Копия
PackagingExtraArgs Указывает дополнительные аргументы средства упаковки. Копия
ProductDefinition Путь к файлу определения продукта, используемому при упаковке. Копия
MtouchEnableSGenConc Переименование EnableSGenConcв .
EnableSGenConc Копия

Преобразование в RuntimeIdentifier

В следующей таблице показано, как преобразовать MtouchArch свойства RuntimeIdentifier в XamMacArch свойство или RuntimeIdentifiers свойство при переносе проекта Xamarin.iOS в .NET для iOS:

Значение 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

Внимание

Если у вас несколько идентификаторов среды выполнения, используйте RuntimeIdentifiers свойство, а не RuntimeIdentifier свойство.

В следующей таблице показано, как преобразовать MtouchArch свойства в XamMacArchRuntimeIdentifier свойство при переносе проекта Xamarin.Mac в .NET для macOS+:

Свойство RuntimeIdentifier
x86_64 osx-x64

В следующей таблице показано, как преобразовать MtouchArch свойства в XamMacArchRuntimeIdentifier свойство при переносе проекта Xamarin.tvOS в .NET для tvOS:

Свойство RuntimeIdentifier
ARM64 tvos-arm64
x86_64 tvossimulator-x64

Дополнительные сведения о свойстве см. в RuntimeIdentifier разделе RuntimeIdentifier. Дополнительные сведения об идентификаторах среды выполнения см . в каталоге .NET RID.

Преобразование в UseNativeHttpHandler

В следующей таблице показано, как преобразовать HttpClientHandler свойства в MtouchHttpClientHandlerUseNativeHttpHandler свойство при переносе проекта Xamarin Apple в .NET 8:

Значение UseNativeHttpHandler
HttpClientHandler false
NSUrlSessionHandler Не устанавливайте
CFNetworkHandler Не устанавливайте

Изменения в других элементах

В следующей таблице показано, как сопоставить другие элементы в проектах Xamarin Apple с проектами .NET:

Позиция Description .NET Преобразование проекта
LinkDescription Дополнительные XML-файлы управляемого компоновщика. Идентичные Копия

Изменения в Info.plist

Некоторые значения перемещены из Info.plist в файл проекта.

MinimumOSVersion и LSMinimumSystemVersion

LSMinimumSystemVersion Свойства MinimumOSVersion должны быть преобразованы SupportedOSPlatformVersion в свойство в проектах .NET 8. Дополнительные сведения см. в разделе "Обеспечение соответствия minimumOSVersion" с поддержкой SupportedOSPlatformVersion.

См. также