Поддержка Xamarin.Forms завершилась 1 мая 2024 года в соответствии с политикой поддержки Xamarin:
Поддержка всех SDK Xamarin, включая Xamarin.Forms, завершилась 1 мая 2024 года.
Xamarin.Forms был заменён .NET MAUI в мае 2022 года как часть .NET 6 и в настоящее время поддерживается, как указано в политике поддержки .NET MAUI. Следуйте официальным рекомендациям по миграции, чтобы привести ваши приложения Xamarin к последней версии .NET.
Все наши разработчики и участники сообщества, большое спасибо за ваш вклад в наше сообщество Xamarin. Увидимся все вместе в .NET MAUI!
Xamarin.Forms предоставляет способ быстро создавать нативные приложения для iOS, Android, Windows и macOS полностью на C#.
Дополнительная информация о платформе доступна по адресу https://www.xamarin.com/forms.## Пакеты ##Платформа/Функционал | Название пакета | Устойчивая версия | Предварительная версия | Ночной сборочный канал Azure (основной ветвь) |
---|---|---|---|---|
Ядро | Xamarin.Forms |
|||
AppLinks | Xamarin.Forms.AppLinks |
|||
Карты | Xamarin.Forms.Maps |
|||
Карты.GTK | Xamarin.Forms.Maps.GTK |
|||
Карты.WPF | Xamarin.Forms.Maps.WPF |
|||
Страницы | Xamarin.Forms.Pages |
NuGet | ||
Xamarin.Forms.Platform.Azure | Xamarin.Forms.Platform.Azure |
|||
Xamarin.Forms.Platform.GTK | Xamarin.Forms.Platform.GTK |
|||
Xamarin.Forms.Platform.WPF | Xamarin.Forms.Platform.WPF |
|||
Xamarin.Forms.Visual.Material | Xamarin.Forms.Visual.Material |
Если вы хотите использовать последнюю версию nightly сборки, то вам следует прочитать этот блоговый пост.- Добавьте ночную подачу в источники NuGet вашего проекта или добавьте файл NuGet.Config к вашему приложению (разместив его в том же каталоге, где находится файл решения вашего приложения) с следующим содержанием:
<?xml version="1.0" encoding="utf-8"?>
<configuration>
<packageSources>
<clear />
<add key="xamarin-ci" value="https://aka.ms/xf-nightly/index.json" />
<add key="NuGet.org" value="https://api.nuget.org/v3/index.json" />
</packageSources>
</configuration>
ЗАМЕЧАНИЕ: Этот файл NuGet.Config должен находиться вместе с вашим приложением, если вы не хотите, чтобы пакеты ночного выпуска начали восстанавливаться для других приложений на вашем компьютере.
*
, чтобы получить последнюю версию.Для обоих методов ниже вам потребуется добавить этот источник NuGet для успешной сборки. Узнайте больше на этой странице документации.
Разработка приложений для .NET для рабочего стола
Отдельные компоненты > .NET > SDK .NET Framework 4.6.1, пакет целевой платформы .NET Framework 4.6.1, SDK .NET Framework 4.7.2, пакет целевой платформы .NET Framework 4.7.2
.Разработка приложений для универсальной платформы Windows
Отдельные компоненты > SDK, библиотеки и фреймворки > SDK Windows 10 (10.0.19041.0), SDK Windows 10 (10.0.18362.0), SDK Windows 10 (10.0.16299.0)
.Разработка мобильных приложений с использованием .NET
Отдельные компоненты > Деятельность разработки > Удалённый симулятор Xamarin
Отдельные компоненты > Эмуляторы > Hyper-V Intel Hardware-Accelerated Execution Manager (HAXM)
Самая новая версия SDK для .NET Core
Необходимы Android 10.0 API 29 SDK и Android 9.0 API 28 SDK для разработки Xamarin.Forms. Они могут быть установлены с помощью Xamarin Android SDK Manager.Также рекомендуется установить Xamarin Android Device Manager. Это позволит использовать инструменты HAXM, установленные выше, и настроить виртуальные устройства Android (AVD), имитирующие устройства Android. Если у вас уже установлена версия VS 2019+, вы можете проверить наличие этих компонентов, модифицировав установку VS 2019+ через Visual Studio Installer.
Если вы сталкиваетесь с ошибками, связанными с отсутствием SDK, вы можете запустить наш проксирующий скрипт. Обратите внимание, что выполнение всего скрипта может занять некоторое время. Чтобы лучше понять работу скрипта, вы можете ознакомиться с нашим файлом build.cake.
В CMD
build.cmd -Target provision
В PowerShell
./build.ps1 -Target provision
ЗАМЕЧАНИЕ: Если вы столкнулись с ошибкой, говорящей, что build.ps1 не имеет цифровой подписи, откройте PowerShell как администратор и решите проблему, выполнив команду Set-ExecutionPolicy RemoteSigned
.
В CMD/Powershell/sh (Новое! Более подробная информация здесь)
dotnet tool install Cake.Tool -g
dotnet cake --target=provision
Если у вас ещё нет установленной версии, инструкции по загрузке и установке можно найти здесь.Из-за текущих ограничений многоплатформенного целинга в Visual Studio для Mac вам потребуется вручную собирать/восстанавливать некоторые проекты перед тем, как вы сможете работать над решением Xamarin Forms. Вот несколько вариантов, которые мы подготовили, чтобы сделать этот процесс проще:
Ветки 3.5+ включают целевой скрипт Cake, который можно использовать для сборки и открытия VSMac
./build.sh --target vsmac
ИЛИ, как было упомянуто выше в разделе Windows о подготовке окружения, вы также можете использовать новый Cake.Tool
dotnet tool install Cake.Tool -g
dotnet cake --target=provision
При работе с более ранней веткой, которая не имеет скриптов Cake, вы можете использовать следующий build.sh скрипт:
msbuild Xamarin.Forms.Build.Tasks/Xamarin.Forms.Build.Tasks.csproj
Xamarin.Forms.Build.Tasks.csproj
Build + IntelliSense
на Build Only
. В данный момент вы должны успешно построить решение.По умолчанию проект Xamarin.Forms.Controls
не имеет конфигурации для различных ключей API для доступа к определенным функциям на каждой платформе (например, карты). При первом построении решения будет создан файл controlgallery.config
, который будет выглядеть следующим образом:UWPMapsAuthKey:
Если вы не работаете с картами, вы можете игнорировать это. Если вы хотите работать с картами, вам придется получить свои собственные ключи API для каждого из этих сервисов, вставленные непосредственно после идентификатора (например, UWPMapsAuthKey:abcdefghijklmnopqrstuvwxyz
). Вы можете узнать, как получить каждый из этих ключей, следуя этим шагам:
UWPMapsAuthKey
на https://microsoft.com/maps/create-a-bing-maps-key.aspx
Из-за того, как работает Android, ключ API для карт не может быть внедрен в реальном времени. Поэтому вам потребуется добавить этот ключ в файл MapsKey.cs
под Xamarin.Forms.ControlGallery.Android/Properties
:
[assembly: Android.App.MetaData("com.google.android.maps.v2.API_KEY", Value = "INSERT_KEY_HERE")]
Вы можете узнать, как получить ключ API Google Maps здесь.
Убедитесь, что у вас установлен nuget.exe версии 4.0 или выше и последний .NET Core SDK. На macOS вам следует указывать платформу в команде msbuild (/p:Platform=iPhoneSimulator
):
msbuild /restore Xamarin.Forms.sln
В зависимости от вашей среды установки вам может потребоваться настроить несколько вещей перед тем, как вы сможете отладить / запустить тесты пользовательского интерфейса, особенно на Windows.
Xamarin.Forms.ControlGallery.Android
. Самый простой способ сделать это — щелкните правой кнопкой мыши проект и выберите "Deploy". Обратите внимание, что если вы заново скомпилируете решение, вы можете потерять APK и вам придется снова его сгенерировать.После выполнения этих шагов вы должны быть готовы приступить к работе. Вы можете просмотреть все тесты пользовательского интерфейса в Test Explorer, найти их для удобства использования и быстро запускать отдельные тесты.
Чтобы запустить тесты пользовательского интерфейса UWP:1. Установите и запустите Windows Application Driver.
2. Запустите проект Xamarin.Forms.ControlGallery.WindowsUniversal
, чтобы установить приложение ControlGallery на вашей системе.Теперь вы должны иметь возможность запускать любые тесты пользовательского интерфейса UWP.
Мы следуем стилю, используемому .NET Foundation, с некоторыми исключениями:
private
, так как это уровень доступа по умолчанию в C#.Инструменты > Опции
и переход к Редактор текста > C#
и выбор варианта "Сохранять табуляцию". В Visual Studio для Mac это можно настроить через предпочтения в Исходный код > Настройка форматирования > Исходный код C#
и отключение флажка для "Конвертировать табуляцию в пробелы".Исходный код > Настройка форматирования > Исходный код C#
и изменение параметра "Желаемая ширина файла" до "120".Мы используем GitHub Issues для отслеживания проблем. Если это возможно, пожалуйста, предоставьте воспроизведение вашей ошибки вместе с вашим отчетом о баге.## Статистика
Вы можете оставить комментарий после Вход в систему
Неприемлемый контент может быть отображен здесь и не будет показан на странице. Вы можете проверить и изменить его с помощью соответствующей функции редактирования.
Если вы подтверждаете, что содержание не содержит непристойной лексики/перенаправления на рекламу/насилия/вульгарной порнографии/нарушений/пиратства/ложного/незначительного или незаконного контента, связанного с национальными законами и предписаниями, вы можете нажать «Отправить» для подачи апелляции, и мы обработаем ее как можно скорее.
Комментарии ( 0 )