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


Адаптация к прекращению поддержки отладки Windows Arm32 .NET

Поддержка .NET для Windows в Arm32 закончилась. Поддержка отладки для этой платформы будет удалена из Visual Studio 2022 начиная с обновления 17.14. В этой статье перечислены возможные варианты для клиентов, отлаживающих код .NET на Windows Arm32 в настоящее время.

Вариант 1. Запуск кода в процессе Arm64

Если устройство запускает Windows Arm64 или может быть обновлено до него, проще всего перенести отлажанный процесс из Arm32 в Arm64. Управление переходом на Arm64 зависит от типа используемого проекта:

  • Сведения о приложениях универсальной платформы Windows (UWP) см. в разделе Обновление архитектуры приложений из Arm32 в Arm64.
  • Для процессов, имеющих собственный нативный исполняемый файл, который автономно содержит среду исполнения .NET, проект должен быть настроен на платформу Arm64.
  • Если исполняемый проект является проектом .NET, скорее всего, что-то указывает свойство RuntimeIdentifier MSBuild. RuntimeIdentifier следует обновить нацелив на win-arm64 вместо win-arm (или аналогичных runtime идентификаторов).

Вариант 2. Использование более старой версии Visual Studio

Visual Studio 17.12 можно использовать из канала обслуживания Long-Term (LTSC). Для получения дополнительной информации см. жизненный цикл и обслуживание продукта Visual Studio.

Вариант 3. Запуск без отладки

Если у вас есть проект, который по-прежнему требуется запустить, но не требует отладки, его можно запустить без отладки. Так как отладчик недоступен, вам потребуется диагностировать проблемы с помощью ведения журнала.

Если проект является проектом универсальной платформы Windows (UWP), а целевое устройство работает под управлением Windows версии Arm32, необходимо вручную развернуть проект для его запуска. Для этого создайте проект в файл .appx, скопируйте appx на устройство, используйте средство WinAppDeployCmd.exe для установки .appx, а затем запустите приложение из меню "Пуск". Дополнительные сведения см. в статье Установка приложений с помощью средства WinAppDeployCmd.exe.

Для других типов проектов можно по-прежнему использовать Отладка > Запуск без отладки для запуска проекта.

Заметка

Этот параметр не рекомендуется, так как поддержка .NET для Windows в Arm32 закончилась.

Вариант 4. Целевой платформой является Linux

Среда выполнения .NET продолжает поддерживать Arm32 Linux. Для оборудования Интернета вещей, которое не может работать под управлением Arm64 Windows, но может запускать Arm32 Linux, единственный поддерживаемый путь для запуска .NET Code на этом оборудовании будет переходить на Linux.