Не удается собрать проект MAUI для Android, iOS и Mac OS на Windows.

Вопрос или проблема

Я пытаюсь собрать проект MAUI. Однако я сталкиваюсь со следующими ошибками.

Ошибка NETSDK1178: Проект зависит от следующих пакетов рабочих нагрузок, которых нет ни в одной из доступных в этой установке рабочих нагрузок: Microsoft.Android.Sdk.net8
Вам, возможно, потребуется собрать проект на другой операционной системе или архитектуре или обновить .NET SDK.
Ошибка NETSDK1178: Проект зависит от следующих пакетов рабочих нагрузок, которых нет ни в одной из доступных в этой установке рабочих нагрузок: Microsoft.MacCatalyst.Sdk.net8.0_18.0
Вам, возможно, потребуется собрать проект на другой операционной системе или архитектуре или обновить .NET SDK.
Ошибка NETSDK1178: Проект зависит от следующих пакетов рабочих нагрузок, которых нет ни в одной из доступных в этой установке рабочих нагрузок: Microsoft.iOS.Sdk.net8.0_18.0 Microsoft.iOS.Windows.Sdk.Aliased.net8.0_18.0
Вам, возможно, потребуется собрать проект на другой операционной системе или архитектуре или обновить .NET SDK.
Ошибка NU1012: Версия платформы отсутствует для одной или нескольких целевых платформ, хотя они были указаны: net8.0-android, net8.0-ios, net8.0-maccatalyst
0>------- Завершено создание проекта: Gift.PresenterApp. Успешно: Ложь. Ошибки: 4. Предупреждения: 0

У меня следующие спецификации:
ОС: Windows 11
IDE: Rider 2024.2.5
Версия .Net SDK: 8.0.402
Процессор: 12-й Intel Core I7-12650H

Не стесняйтесь обращаться ко мне, если нужно уточнить что-то еще.

Я пытался установить соответствующие рабочие нагрузки, но не все были установлены. Вот установленные рабочие нагрузки.

Идентификатор рабочей нагрузки   Описание                                       
--------------------------------------------------------------------
aspire                        .NET Aspire SDK                                   
macos                         .NET SDK для создания приложений под macOS.
maui-tizen                    .NET MAUI SDK для Tizen                           
maui-windows                  .NET MAUI SDK для Windows

Вот вывод выполненных команд. Выводы одинаковы для следующих команд.
Выполненные команды

dotnet workload install maui
dotnet workload install android
dotnet workload install ios
dotnet workload install maccatalyst

Вывод:
Установка рабочей нагрузки не удалась: Рабочая нагрузка с идентификатором maui не поддерживается на этой платформе.

Ответ или решение

Проблема, с которой вы столкнулись при попытке сборки проекта MAUI на Windows, связана с тем, что некоторые рабочие нагрузки, необходимые для целевых платформ (Android, iOS и Mac Catalyst), не могут быть установлены или не поддерживаются на данной операционной системе. Давайте разберем шаги, которые можно предпринять для решения этой ситуации.

Причины ошибки:

  1. Рабочие нагрузки для iOS и MacCatalyst: Компиляция приложений для iOS и MacCatalyst не поддерживается на Windows. Эти платформы требуют macOS для сборки, так как включают специфичные инструменты и библиотеку.

  2. Отсутствие необходимых пакетов: Сообщение об ошибке указывает на то, что требуемые пакеты (например, Microsoft.Android.Sdk.net8, Microsoft.iOS.Sdk.net8.0_18.0, и т.д.) отсутствуют в установленных рабочих нагрузках.

Шаги для решения проблемы:

  1. Проверка среды: Убедитесь, что вы работаете с последней версией .NET SDK и MAUI. Для этого можно использовать команду:

    dotnet --list-sdks
    dotnet workload list

    Это поможет вам увидеть, какие SDK и рабочие нагрузки установлены.

  2. Установка рабочих нагрузок: Вы правильно пытались установить нагрузки через команду dotnet workload install. Однако, для разработки под iOS и MacCatalyst, вам потребуется работа с macOS. Рассмотрите возможность использования одной из следующих опций:

    • Используйте Mac: Перенесите проект на macOS для сборки под iOS и MacCatalyst. На Mac можно установить нужные нагрузки и легко собрать проект.
    • Использование облачных решений: Если у вас нет доступа к Mac, рассмотрите использование облачных сервисов, таких как GitHub Actions или другие CI/CD инструменты, которые позволяют настраивать сборку для iOS.
    • Использование эмуляторов: Можете попробовать использовать Windows Subsystem for Linux (WSL) в качестве окружения для создания тестов, но это не решит проблему сборки под iOS.
  3. Создание Android-приложения: Вы можете собрать проект MAUI для Android на Windows, убедившись, что у вас установлены нужные компоненты (Android SDK, Android NDK и т.п.). Используйте Android Emulator для тестирования приложений. Убедитесь, что в проекте в файле .csproj указаны корректные целевые платформы.

Поддержка и документация:

Посетите официальную документацию Microsoft MAUI для более подробной информации о совместимости и внутренних требованиях.

Заключение:

Сборка проектов для платформ, таких как iOS и MacCatalyst, на Windows невозможна. Если ваша цель в том, чтобы создавать и тестировать приложения для этих платформ, вам необходимо использовать macOS или облачные альтернативы. Для Android вы можете продолжить разработку на Windows. Настоятельно рекомендуется проверить текущие версии .NET SDK и установить все доступные обновления для работы с MAUI.

Оцените материал
Добавить комментарий

Капча загружается...