posté @ Wednesday, February 20, 2008 3:13 PM

Pour un projet interne, j'ai récemment du étendre les fonctionnalités de Team Foundation Server, en implémentant (entre autres) une tâche MSBuild pour Team Build.

Le processus de création de custom task est éxactement le même que celui d'une task MSBuild classique, mais le debugging n'est pas franchement aisé. Dans le cas où la tâche n'utilise pas d'informations fournies par Team Build, il n'y a pas de problème, il suffit de lancer un MSBuild en stand-alone sur lequel on attache le debugger, mais dans le cas contraire, ca se complique.

En effet, attacher le debugger sur le processus du Web-Service Team Build ne résout rien, car il ne fait que lancer et piloter un process MSBuild externe (le debugger ne voit que ce qui tourne dans le process ASP.Net).

Ainsi pour pouvoir attacher un debugger, il faut feinter légèrement et faire en sorte que ce soit la task MSBuild elle-même qui demande un debugger. Pour ce-faire, une solution consiste d'écrire au début de la méthode Execute:

 

 

#if DEBUG

System.Diagnostics.Debug.Fail("Click Retry, and attach a debugger!");

#endif

 

Cet astuce peut aussi être utilisée, par exemple lors du développement de Services Windows.


Commentaires :

No comments posted yet.

Ecrire un commentaire :

Titre :*
Nom *
Email
Url
Commentaire : *  


Please add 3 and 3 and type the answer here: