2008-12-10 7 views
11

J'essaie de déboguer le MSBuild Customtask, que je viens de créer, mais pour une raison quelconque, il ne s'arrête jamais au point d'arrêt. J'ai même essayé ceci:Comment faire pour déboguer MSBuild Customtask

public override bool Execute() 
    { 
     System.Diagnostics.Debugger.Break(); 

et a ajouté un point de rupture sur cette ligne ... J'ai même éliminé tous les autres code dans la méthode et qui n'a pas changé quoi que ce soit.

Existe-t-il quelque chose de spécial requis pour pouvoir déboguer la création de tâches personnalisées pour MSBuild?

Répondre

20

Il est un peu un hack, mais vous pouvez toujours juste mettre cette ligne de code où il est que vous voulez démarrer le débogage:

System.Diagnostics.Debugger.Launch(); 

Lorsque vous invoquez, le CLR va lancer une demander de dialogue vous quel débogueur vous voulez attacher.

+0

Cela a fonctionné, mais je ne comprends pas pourquoi Break() n'a pas ... merci, au moins je peux déboguer – CheGueVerra

+0

je reçois un Impossible à attacher au processus de plantage. Le débogueur n'est pas correctement installé. Impossible de déboguer le type de code demandé. Exécutez le programme d'installation pour installer ou réparer le débogueur. des suggestions sur la façon de résoudre? devrais-je réinstaller Visual Studio? – topwik

+2

Réponse totalement génial! Merci beaucoup! –

7

C'est ce que je fais ... Dans la boîte de dialogue Propriétés du projet de l'onglet Déboguer Sélectionnez "Démarrer une application externe" - placez C: \ WINDOWS \ Microsoft.NET \ Framework \ v2.0.50727 \ MSBuild.exe dans le box ..

Puis, dans la ligne de commande parms, mettez vos arguments/Target: Quelle que soit test.proj

mettre un terme de code dans votre tâche personnalisée et démarrer l'application ..

+0

Belle suggestion ... Je vais l'essayer plus tard, merci – CheGueVerra

+0

j'ai trouvé cette suggestion [ici] (http://blogs.msdn.com/b/msbuild/archive/2005/09/28/474951.aspx) . J'ai joué avec le concept mais je n'ai jamais vraiment réussi à le faire fonctionner. – topwik

Questions connexes