Share via


Rechargement à chaud XAML pour .NET MAUI

L’interface utilisateur XAML .NET Multiplateforme (.NET MAUI) Rechargement à chaud est une fonctionnalité Visual Studio qui vous permet d’afficher le résultat des modifications XAML dans votre application en cours d’exécution, sans avoir à reconstruire votre projet. Sans Rechargement à chaud XAML, vous devez générer et déployer votre application chaque fois que vous souhaitez afficher le résultat d’une modification XAML.

Lorsque votre application .NET MAUI s’exécute dans la configuration du débogage, avec le débogueur attaché, XAML Rechargement à chaud analyse vos modifications XAML et envoie ces modifications à l’application en cours d’exécution. Il conserve l’état de votre interface utilisateur, car il ne recrée pas l’interface utilisateur pour la page complète et met à jour les propriétés modifiées sur les contrôles affectés par les modifications. En outre, votre état de navigation et vos données seront conservés, ce qui vous permet d’itérer rapidement sur votre interface utilisateur sans perdre votre emplacement dans l’application. Par conséquent, vous passerez moins de temps à reconstruire et déployer vos applications pour valider les modifications apportées à l’interface utilisateur.

Par défaut, vous n’avez pas besoin d’enregistrer votre fichier XAML pour afficher les résultats de vos modifications. Au lieu de cela, les mises à jour sont appliquées immédiatement à mesure que vous tapez. Toutefois, sur Windows, vous pouvez modifier ce comportement pour effectuer une mise à jour uniquement sur l’enregistrement de fichiers. Pour ce faire, case activée l’Rechargement à chaud Appliquer le code XAML sur la boîte de réception case activée d’enregistrement de document dans les paramètres de l’IDE Rechargement à chaud disponibles en sélectionnant Options> de débogage > XAML Rechargement à chaud dans Visual Studio barre de menus. Seule la mise à jour sur l’enregistrement de fichiers peut parfois être utile si vous effectuez des mises à jour XAML plus volumineuses et ne souhaitez pas qu’elles soient affichées tant qu’elles ne sont pas terminées.

Remarque

Si vous écrivez une application UWP ou WPF native, sans utiliser .NET MAUI, consultez Qu’est-ce que l’Rechargement à chaud XAML pour les applications WPF et UWP ?.

Les Rechargement à chaud XAML sont disponibles dans Visual Studio 2022 et Visual Studio 2022 pour Mac. Sur Windows, les Rechargement à chaud XAML sont disponibles sur Android, iOS et WinUI sur les émulateurs, les simulateurs et les appareils physiques. Sur Mac, le Rechargement à chaud XAML est disponible sur Android, iOS et Mac Catalyst sur les émulateurs, les simulateurs et les appareils physiques.

Important

Le Rechargement à chaud XAML ne recharge pas de code C#, y compris les gestionnaires d’événements.

Activer le Rechargement à chaud XAML

Le Rechargement à chaud XAML est activé par défaut dans Visual Studio 2022. S’il a été précédemment désactivé, il peut être activé en sélectionnant Options > de débogage > XAML Rechargement à chaud dans la barre de menus de Visual Studio. Ensuite, dans la boîte de dialogue Options, vérifiez que les options Activer xaml Rechargement à chaud, WinUI (y compris .NET MAUI) et Android et iOS (.NET MAUI) sont case activée ed :

XAML Hot Reload options for .NET MAUI in Visual Studio.

Ensuite, sur iOS dans vos paramètres de build, case activée que l’éditeur de liens est défini sur « Ne pas lier ».

Rechargement sur plusieurs plateformes

Le Rechargement à chaud XAML prend en charge le débogage simultané de plusieurs plateformes dans Visual Studio et Visual Studio pour Mac, à condition que vous ayez des projets principaux distincts par plateforme plutôt qu’une application de projet unique. Par exemple, vous pouvez déployer une cible Android et iOS en même temps pour voir vos modifications reflétées sur les deux plateformes en même temps. Pour déboguer sur plusieurs plateformes sur Windows, consultez Guide pratique pour définir plusieurs projets de démarrage. Pour déboguer sur plusieurs plateformes sur un Mac, consultez Définir plusieurs projets de démarrage.

Dépannage

La sortie du Rechargement à chaud XAML affiche les messages d’état qui peuvent vous aider à résoudre les problèmes. Dans Visual Studio, vous pouvez les afficher en sélectionnant Afficher > la sortie dans la barre de menus, puis en sélectionnant Xamarin Rechargement à chaud dans la sortie Afficher à partir de : liste déroulante. Dans Visual Studio pour Mac, celles-ci peuvent être affichées en pointant le curseur de la souris sur le Rechargement à chaud XAML dans la barre d’état.

Si le Rechargement à chaud XAML ne parvient pas à initialiser, vous devez vous assurer que vous utilisez la dernière version de .NET MAUI, la dernière version de l’IDE et que vos paramètres d’éditeur de liens iOS sont définis sur Don’t Link dans les paramètres de génération du projet.

Si rien ne se produit lors de l’enregistrement de votre fichier XAML, vérifiez que le Rechargement à chaud XAML est activé dans l’IDE. Pour plus d’informations, consultez Activer le Rechargement à chaud XAML.

Si vous apportez une modification que l’analyseur XAML Rechargement à chaud voit comme non valide, l’erreur est soulignée dans l’éditeur et l’inclut dans la fenêtre Liste d’erreurs. Rechargement à chaud erreurs ont un code d’erreur commençant par « XHR » (pour le Rechargement à chaud XAML). S’il existe de telles erreurs sur la page, les Rechargement à chaud XAML ne s’appliquent pas à votre application en cours d’exécution tant que les erreurs n’ont pas été corrigées.

Vous ne pouvez pas ajouter, supprimer ou renommer des fichiers ou des packages NuGet pendant une session XAML Rechargement à chaud. Si vous ajoutez ou supprimez un fichier ou un package NuGet, régénérez et redéployez votre application pour continuer à utiliser xaml Rechargement à chaud.

La désactivation de la compilation XAML avec [XamlCompilation(XamlCompilationOptions.Skip)] n’est pas prise en charge et peut entraîner des problèmes avec l’arborescence de visuels en direct. Pour plus d’informations sur l’arborescence de visuels en direct, consultez Inspecter l’arborescence visuelle d’une application .NET MAUI.