2 votes

Déboguer un projet WPF en tant que processus dans une solution WinForm

J'ai une solution C# avec plusieurs projets WinFrom, et dans cette solution, j'ai également un projet WPF. Lorsque je démarre un projet WinForm en tant que processus à l'intérieur de MainProject, il fonctionne parfaitement et je peux le déboguer sans aucun problème. Mais lorsque je veux démarrer un projet WPF en tant que processus séparé dans MainProject, je ne peux pas le déboguer. J'utilise Child Process Debugging Extension pour déboguer les processus enfants. Mon code pour démarrer un processus enfant :

            Process.Start(new ProcessStartInfo()
            {
                FileName = System.Reflection.Assembly.GetAssembly(typeof(UI.Export.DTO.Launcher)).Location,
                WorkingDirectory = Path.GetDirectoryName(System.Reflection.Assembly.GetAssembly(typeof(UI.Export.DTO.Launcher)).Location),
                Arguments = Convert.ToBase64String(Encoding.UTF8.GetBytes(JsonConvert.SerializeObject(launcher))),
            });

J'ajoute également les projets WinForm et WPF aux paramètres de débogage du processus enfant !

Merci d'avance :)

1voto

Rekshino Points 2612

Je voudrais

  • souscrire un Application.Startup
  • mettre un bloqueur sur le gestionnaire d'événement de Application.Startup
  • s'attachent au processus, alors que l'application wpf est suspendue dans le fichier partie bloquante.

    public partial class YourWpfApp : Application { public YourWpfApp() { Startup += YourWpfApp_Startup; }

    private void YourWpfApp_Startup(object sender, StartupEventArgs e)
    {
        System.Threading.Thread.Sleep(50000);//Attach to the process, while waiting here.
        Startup -= YourWpfApp_Startup;
    }

    }

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X