S’adapter à la suppression du débogage Windows Arm32 .NET
La prise en charge de .NET pour Windows sur Arm32 a pris fin. La prise en charge du débogage de cette plateforme sera supprimée de Visual Studio 2022 à partir de la mise à jour 17.14. Cet article répertorie les options potentielles pour les clients qui déboguent actuellement le code .NET sur Windows Arm32.
Option 1 : Exécuter du code dans un processus Arm64
Si votre appareil exécute Arm64 Windows ou peut être mis à niveau vers celui-ci, le moyen le plus simple consiste à migrer le processus débogué d’Arm32 vers Arm64. La gestion du commutateur vers Arm64 dépend du type de projet que vous utilisez :
- Pour les applications de plateforme Windows universelle (UWP), consultez Mettre à jour l’architecture des applications d’Arm32 vers Arm64.
- Pour les processus qui ont leur propre exécutable natif qui héberge automatiquement le runtime .NET, le projet natif doit être configuré pour cibler Arm64.
- Si le projet exécutable est un projet .NET, il est probable que quelque chose spécifie la propriété MSBuild
RuntimeIdentifier
.RuntimeIdentifier
doit être mis à jour pour ciblerwin-arm64
au lieu dewin-arm
(ou des identifiants d'exécution similaires).
Option 2 : Utiliser une version antérieure de Visual Studio
Visual Studio 17.12 peut être utilisé à partir du canal de maintenance Long-Term (LTSC). Pour plus d’informations, consultez cycle de vie et maintenance des produits Visual Studio.
Option 3 : Démarrer sans débogage
Si vous avez un projet que vous souhaitez toujours exécuter, mais ne nécessite pas de débogage, utilisez Déboguer->Démarrer sans déboguer pour exécuter le projet. Étant donné que le débogueur n’est pas disponible, vous devez diagnostiquer les problèmes en utilisant la journalisation.
Remarque
Cette option n’est pas recommandée, car la prise en charge de .NET pour Windows sur Arm32 a pris fin.
Option 4 : Cible Linux
Le runtime .NET continue de prendre en charge Arm32 Linux. Pour le matériel IoT qui n’est pas capable d’exécuter Arm64 Windows, mais qui est capable d’exécuter Arm32 Linux, le seul chemin pris en charge pour l’exécution de .NET Code sur ce matériel serait de basculer vers Linux.