Débogage ou désactivation de code de projet dans le concepteur XAMLDebugging or Disabling Project Code in XAML Designer

Dans bien des cas, les exceptions non gérées dans le concepteur XAML peuvent être provoquées par le code de projet, qui tente d’accéder à des propriétés ou méthodes qui retournent des valeurs différentes ou qui fonctionnent de manière différente quand votre application s’exécute dans le concepteur.In many cases, unhandled exceptions in the XAML designer can be caused by project code attempting to access properties or methods which return different values or work in different ways when your application is running in the designer. Vous pouvez résoudre ces exceptions en déboguant le code du projet dans une autre instance de Visual Studio, voire les éviter temporairement en désactivant le code de projet dans le concepteur.You can resolve these exceptions by debugging the project code in another instance of Visual Studio, or temporarily prevent them by disabling project code in the designer.

Le code de projet est constitué des éléments suivants :Project code includes:

  • contrôles personnalisés et contrôles utilisateur ;Custom controls and user controls

  • bibliothèques de classes ;Class libraries

  • convertisseurs de valeurs ;Value converters

  • liaisons avec des données au moment de la conception générées à partir du code de projet.Bindings against design time data generated from project code

    Quand le code de projet est désactivé, Visual Studio affiche des espaces réservés. Pour une liaison, il peut s’agir du nom de la propriété dans le cas où les données ne sont plus disponibles ou bien un espace réservé pour un contrôle qui n’est plus en cours d’exécution.When project code is disabled, Visual Studio will show placeholders such as the name of the property for a binding where the data is no longer available; or a placeholder for a control which is no longer running.

    Boîte de dialogue d’exception non géréeUnhandled exception dialog

Pour déterminer si le code de projet est à l’origine d’une exceptionTo determine if project code is causing an exception

  1. Dans la boîte de dialogue de l’exception non gérée, choisissez le lien Cliquez ici pour recharger le concepteur .In the unhandled exception dialog, choose the Click here to reload the designer link.

  2. Dans la barre de menus, choisissez Déboguer, Démarrer le débogage pour générer et exécuter l’application.On the menu bar choose Debug, Start Debugging to build and run the application.

    Si l’application se génère et s’exécute correctement, l’exception au moment de la conception est peut-être due à votre code de projet s’exécutant dans le concepteur.If the application builds and runs successfully, the design-time exception may be caused by your project code running in the designer.

Pour déboguer le code de projet s’exécutant dans le concepteurTo debug project code running in the designer

  1. Dans la boîte de dialogue de l’exception non gérée, choisissez le lien Cliquez ici pour désactiver l’exécution du code de projet et recharger le concepteur .In the unhandled exception dialog, choose the Click here to disable running project code and reload designer link.

  2. Dans le Gestionnaire des tâches Windows, cliquez sur le bouton Fin de tâche pour fermer toutes les instances du concepteur XAML Visual Studio en cours d’exécution.In the Windows Task Manager, choose the End Task button to close any instances of the Visual Studio XAML Designer that are currently running.

    Instances du concepteur XAML dans TaskManagerXAML designer instances in TaskManager

  3. Dans Visual Studio, ouvrez la page XAML qui contient le code ou le contrôle à déboguer.In Visual Studio, open the XAML page which contains the code or control you want to debug.

  4. Ouvrez une nouvelle instance de Visual Studio, puis ouvrez une deuxième instance de votre projet.Open a new instance of Visual Studio, and then open a second instance of your project.

  5. Définissez un point d’arrêt dans votre code de projet.Set a breakpoint in your project code.

  6. Dans la nouvelle instance de Visual Studio, dans la barre de menus, choisissez Déboguer, Attacher au processus.In the new instance of Visual Studio, on the menu bar, choose Debug, Attach to Process.

  7. Dans la boîte de dialogue Attacher au processus , dans la liste Processus disponibles , choisissez XDesProc.exe, puis cliquez sur le bouton Attacher .In the Attach to Process dialog, in the Available Processes list, choose XDesProc.exe, and then choose the Attach button.

    Processus du concepteur XAMLThe XAML designer process

    Il s’agit ici du processus destiné au concepteur XAML de la première instance de Visual Studio.This is the process for the XAML designer in the first instance of Visual Studio.

  8. Dans la première instance de Visual Studio, dans la barre de menus, choisissez Déboguer, Démarrer le débogage.In the first instance of Visual Studio, on the menu bar choose Debug, Start Debugging.

    Vous pouvez maintenant parcourir pas à pas votre code qui s’exécute dans le concepteur.You can now step into your code which is running in the designer.

Pour désactiver le code de projet dans le concepteurTo disable project code in the designer

  • Dans la boîte de dialogue de l’exception non gérée, choisissez le lien Cliquez ici pour désactiver l’exécution du code de projet et recharger le concepteur .In the unhandled exception dialog, choose the Click here to disable running project code and reload designer link.

  • Sinon, dans la barre d’outils du concepteur XAML, cliquez sur le bouton Désactiver le code de projet .Alternatively, on the toolbar in the XAML designer, choose the Disable project code button.

    Le bouton Désactiver le code de projetThe Disable Project Code button

    Vous pouvez cliquer à nouveau sur le bouton pour réactiver le code de projet.You can toggle the button again to re-enable project code.

    Note

    Pour les projets qui ciblent des processeurs ARM ou X64, Visual Studio ne peut pas exécuter le code de projet dans le concepteur. De ce fait, le bouton Désactiver le code de projet est désactivé dans le concepteur.For projects that target ARM or X64 processors, Visual Studio cannot run project code in the designer, so the Disable project code button is disabled in the designer.

  • Les deux options ont pour effet de recharger le concepteur et de désactiver l’ensemble du code du projet associé.Either option will cause the designer to reload, and will then disable all code for the associated project.

    Note

    La désactivation du code de projet peut entraîner une perte de données au moment de la conception.Disabling project code can lead to a loss of design time data. Une autre solution consiste à déboguer le code s’exécutant dans le concepteur.An alternative is to debug the code running in the designer.

Voir aussiSee Also

Conception XAML dans Visual Studio et Blend pour Visual StudioDesigning XAML in Visual Studio and Blend for Visual Studio