Archives du mot-clé Visual Studio

Les SP1 de VS 2010 et de TFS 2010 disponibles en Beta

Brian Harry a annoncé cette semaine la sortie des Service Packs 1 de Visual Studio et de Team Foundation Server 2010 en version Beta. Ils sont actuellement disponibles uniquement pour les abonnés MSDN, mais devraient être téléchargeable par tout le monde dans les jours qui suivent.

Vous pouvez retrouver plus de détails sur le contenu de ces Service Packs directement sur son blog. Il précise notamment que près de 1000 bugs ont été corrigés!! Ca fait rêver 😉

Parmi les nouvelles fonctionnalités nous pouvons noter qu’il sera maintenant possible d’exécuter les tests unitaires en 3.5. Actuellement les tests unitaires s’exécutent obligatoirement en 4.0 et utilisent la compatibilité 3.5 pour tester des applications 3.5.

On peut également noter une grande nouveauté au niveau de l’Intellitrace, c’est le support tant attendu du 64 bits (et de Sharepoint également). Comme je le soulignais dans cet article sur le développement 64 bits, Microsoft continue ses efforts à ce sujet.

Du côté de Silverlight, les tools de la version 4.0 sont inclus dans ce service pack. Au passage,
Scott Guthrie nous annonçait la semaine dernière les nouveautés de Silverlight 5
qui devrait être disponible en version béta au printemps 2011 (surement pour le MIX). Et dans Silverlight 5, côté développeur et testeur on notera le support du debug des expressions de binding et le support des tests d’interfaces automatisés (déjà disponible pour Silverlight 4 dans le Feature Pack 2 de Visual Studio 2010).

Et enfin, toujours du côté de Silverlight, ce Service Pack contient un outil d’analyse des performances spécifique à Silverlight.

Modification des étapes des Test Cases depuis Visual Studio

Si vous avez testé TFS 2010 Beta 2, alors vous avez peut être remarqué qu’il était possible d’éditer les étapes des work items de type Test Case directement depuis Visual Studio. A l’arrivée de la RTM, cette fonctionnalité a été supprimée. Actuellement la seule façon d’éditer les étapes des Test Cases est de le faire depuis MTM (Microsoft Test Manager). Voici à quoi ressemble l’onglet Steps depuis Visual Studio, remarquez le bouton “Open for edit” qui permet de lancer MTM :

TestCase

Avec la beta 2, nous avions ceci :


image

Nous allons voir ci-dessous comment modifier l’interface des Test Case pour pouvoir modifier les steps comme dans la beta 2.

En cherchant un peu on peut voir que le contrôle utilisé pour afficher les étapes est le custom control TestStepBaseControl de l’assembly Microsoft.TeamFoundation.TestManagement.Controls. Pour le retrouver il suffit de regarder à cet endroit : C:\ProgramData\Microsoft\Team Foundation\Work Item Tracking\Custom Controls\10.0\TestStepsControl.wicc

Comme tout custom control de work item, TestStepBaseControl implémente l’interface IWorkItemControl. Ce contrôle implémente également l’interface IWorkItemControlFactory. Il doit ainsi implémenter la méthode Create, que l’on peut voir ci-dessous :


Create

Visual Studio et MTM se servent certainement de cette méthode pour obtenir une instance de ce contrôle. Comme nous pouvons le voir dans ce code, si le Host a la possibilité d’afficher un contrôle WPF alors il retourne une instance de type TestStepsCustomControl, sinon il renvoie l’instance courante, à savoir de type TestStepsBaseControl.

Le formulaire des work items de Visual Studio ne supportent que les contrôles WinForm. C’est pour cette raison que TestStepsBaseControl est un UserControl WinForm. Par contrôle, MTM est en WPF, ainsi TestStepsCustomControl est un UserControl WPF.

Pour utiliser le contrôle TestStepsCustomControl depuis Visual Studio, il suffit de créer de l’encapsuler dans un composant ElementHost, lui même encapsuler dans un User Control WinForm (le composant ElementHost permet d’hoster un contrôle WPF dans un contrôle WinForm).

  • On crée un projet de type WinForm Custom Control Library.
  • On ajoute les références Microsoft.TeamFoundation.TestManagement.Controls.dll et Microsoft.TeamFoundation.WorkItemTracking.Controls.dll.
  • On ajoute ensuite un User Control et on lui fait implémenter l’interface IWorkItemControl.
  • Dans le designer du user control, on ajoute un composant ElementHost
  • Dans le code du designer, on crée un champ de type Microsoft.TeamFoundation.TestManagement.Controls.TestStepsCustomControl
  • Puis on modifie le code de la méthode InitializeComponent, afin d’instancier le TestStepsCustomControl et de l’affecter à la propriété Child de l’objet ElementHost :


InitializeComponent

  • Il faut ensuite mapper les méthodes de l’interface IWorkItemControl sur le custom control :


Mapping

  • Il ne reste plus qu’à compiler
  • On copie la sortie dans le répertoire C:\ProgramData\Microsoft\Team Foundation\Work Item Tracking\Custom Controls\10.0
  • On crée un fichier TestStepsControl2.wicc comme ceci :


wicc

Le contrôle est maintenant déployé. La dernière étape consiste à éditer le formulaire du Work Item pour qu’il utilise notre nouveau contrôle. Le plus simple est d’utiliser les power tools. Après avoir installé les power tools de TFS, il suffit d’éditer le type de work item Test Case (Menu Tools>Process Editor>Work Item Type>Open WIT from Server). Dans l’onglet Layout, on retrouve le TabPage Steps, il suffit de modifier la propriété Type du contrôle utilisé pour afficher le champ Microsoft.VSTS.TCM.Steps :


WIDesigner

La manip est terminée. Il ne reste plus qu’à ouvrir un Test Case et vérifier que les étapes sont maintenant éditable depuis Visual Studio :


image

Et comme par magie, on peut maintenant éditer les étapes de nos Test Case depuis Visual Studio!!

TFS Membership Visualizer : Mon 1er addin Visual Studio 2010

TFS Membership VisualizerJe vous l’ai présenté cette semaine, TFS Membership Visualizer est un petit outil qui permet de visualiser un graphe de dépendances des groupes TFS et de leurs membres.

Je me suis dit qu’il serait sympa de l’intégrer directement dans Visual Studio. J’ai donc développé une extension VS que vous pouvez télécharger directement depuis l’Extension Manager de Visual Studio 2010.

Vous pouvez également le télécharger sur le site des extensions de Visual Studio ou télécharger le code source sur le projet Codeplex associé.

(Vous remarquerez également l’arrivée de BOWIE dans l’extension manager 🙂 )

Affichage des Groupes TFS et de leurs membres

 

Si vous suivez l’actualité de TFS via le blog de Brian Harry, alors vous remarquerez que je rebondis sur l’un de ses derniers posts, à savoir comment visualiser de manière synthétique les memberships des groupes TFS.

Peut être l’avez vous déjà constaté, la visualisation des membres des groupes de sécurité de TFS n’est pas très pratique. Des groupes sont définis au niveau du serveur TFS, au niveau de la collection ou encore ou niveau des projets. Il n’existe actuellement aucun moyen simple de visualiser les membres de ces groupes de manière synthétique. La seule solution est d’afficher chaque boite de dialogue de gestion des groupes à tous les niveaux (serveur, collection, projets).

Comme le suggère Brian Harry, il est tout à fait possible de développer un outil avec les API de TFS. C’est d’ailleurs ce que j’avais fait pendant mes congés d’été mais je n’avais pas encore eu le temps de poster.

Le code que je vous propose est tout simplement une application Windows qui va vous permettre de sélectionner les projets depuis un serveur TFS et de générer un graphe de dépendances entre les différents groupes et membres :


image

Une fois les projets sélectionnés il vous suffit de cliquer sur Generate Dependency Graph et Visual Studio s’ouvrira afin de vous présenter le graphe de dépendances :


image

Le graphe de dépendances est pour moi la meilleure des manières d’avoir une vue synthétique des memberships. Et on bénéficie en plus de tous les avantages de DGML, en terme de visualisation, navigation ou de sélection.

Pour l’instant je génère un DGML en utilisant Linq To XML et donc un XDocument. Cependant il existe également une API qui facilite la génération de DGML. A creuser pour la prochaine fois…

Développement x86 et x64 avec le framework .Net

Je viens de publier un nouvel article sur le développement 32bits et 64bits.

Avec l’arrivée du Framework 4.0 et de Visual Studio 2010, Microsoft a fait de gros effort sur le développement d’applications 64bits avec Visual Studio 2010.

Patrice Lamarche nous livre dans ce billet
l’un des changements majeur concernant la politique de compilation de vos projets UI avec Visual Studio 2010.


Au-delà de l’IDE, le Framework 4.0, et plus précisément la classe System.Environment, nous fournit des propriétés permettant de savoir si l’OS est en 32 ou 64bits, ou de récupérer le répertoire Program File (x86) ou encore le répertoire WindowsSYSWOW64…

Quelles sont les différences entre ces OS ? Comment des applications 32 bits et 64 bits cohabitent ? Comment les prendre en compte dans nos développements ?

Nouvel article : Instrumenter et analyser son application avec DotFuscator 4.0

Comme je vous le disais dans mon dernier post, CodePlex propose d’utiliser les nouveaux outils de DotFuscator 4.0 pour analyser son application. Qui utilise l’application, quelles sont les fonctionnalités utilisées… DotFuscator nous propose d’injecter du code dans nos assemblies afin d’obtenir ses éléments de mesure.

Ce weekend j’ai donc creusé l’utilisation de ces outils et je vous propose de les découvrir à travers cet article.

Bonne lecture !

Codeplex et l’analyse d’applications avec DotFuscator 4.0

imageJusqu’ici pour un projet Codeplex nous avions du reporting sur le nombre de téléchargements ou encore le nombre de visites par période. Cependant ces indicateurs ne permettent pas de savoir l’utilisation que font les utilisateurs de l’application ou des différentes fonctionnalités.

Depuis aujourd’hui Codeplex offre la possibilité de suivre l’utilisation de son application.

En instrumentant son application avec les nouveaux outils de DotFuscator fournis avec Visual Studio 2010, il est possible de connaitre combien de fois l’application a été démarrée ou encore de connaitre la fréquence d’utilisation d’une fonctionnalité, en décorant simplement les méthodes par des attributs.

Nous connaissons déjà DotFuscator pour les outils d’obfuscation de code qui sont inclus dans les versions précédentes de Visual Studio. Dans Visual Studio 2010, PreEmptive nous propose avec la version Community Edition 4.0 de DotFuscator d’autres fonctionnalités intéressantes, simples à mettre en place et gratuites pour certaines 😉

Pour plus d’information sur DotFuscator voici la liste détaillées des fonctionnalités de DotFuscator 4.0 par édition.

La société PreEmptive é écrit un tutoriel expliquant comment instrumenter son application et la brancher sur son projet codeplex.

Modélisation et Architecture avec Visual Studio 2010

Le mois dernier aux Techdays, j’ai eu l’occasion de présenter avec Sacha Leroux les
nouveaux outils d’architecture de Visual Studio 2010
. Au programme, les outils de modélisation UML et les outils d’analyse d’architecture (retro engineering et graphe de dépendances). Pendant cette session, en plus de faire le tour des fonctionnalités, nous avons beaucoup insisté sur les aspects d’extensibilité de ces outils et sur l’intégration avec TFS.

En fin de session nous avons eu droit à quelques questions. Ces questions portaient notamment sur la génération de code depuis les diagrammes UML, le support du C++ ou encore l’importation de modèle UML au format XMI. Nous n’avions pas beaucoup d’informations à ce moment là, mais nous avions indiqué que ces fonctionnalités seraient disponible après la sortie de la RTM de Visual Studio 2010 sous la forme d’un Power Tools.

Depuis ce weekend, le voile est levé!! Cameron Skinner nous présente un aperçu des fonctionnalités de ce Feature Pack qui sera à disposition des abonnés MSDN après la sortie de VS 2010 :

  • Support du C++ pour la génération de graphe de dépendances,
  • génération de code depuis les diagrammes de classes UML (à base de template T4)
  • extensibilité du layer diagram,
  • import XMI,
  • Alimentation du modèle UML depuis l’architecture explorer

En attendant, si vous ne connaissez pas encore les nouveaux outils d’architecture,
je vous invite à les découvrir en vidéo.

VS 2010 RC et TFS 2010 RC sont disponibles !!!

Si vous avez suivi l’actualité de la semaine, vous savez certainement que VS 2010 et TFS 2010 sont disponibles en version Release Candidate pour les abonnés MSDN. L’information a été annoncée par plusieurs Microsoftees, dont notamment Cameron Skinner et Brian Harry.

A la suite de cette annonce, plusieurs informations importantes sont à noter. Tout d’abord concernant le support de la RC, qui comme la Beta 2, est une version “go live”.

Martin Hinshelwood fourni un témoignage intéressant sur la migration (ou plutôt sur la désinstallation) de TFS 2010 Beta 2 vers la RC.

Une autre annonce très importante de Brian Harry sur la sortie des Power Tools de TFS pour la version RC. Ces Power Tools étaient disponibles en version Beta 2 et devraient normalement être disponibles d’ici le 19 février, c’est à dire dans une semaine.

Concernant l’installation de Visual Studio 2010 RC, si vous avez installé la version Beta 2 ainsi que les Power Tools Beta 2, sachez qu’ils vous faudra les désinstaller pour installer la RC.

Petite nouveauté sur l’installation de Visual Studio 2010 : Team Explorer et VS 2010 ne font qu’un. Plus besoin d’installer VS 2010 puis Team Explorer. Team Explorer est directement inclus à VS 2010. Cependant une version standalone de Team Explorer existe toujours, pour les personnes qui n’ont pas besoin des fonctionnalités de Visual Studio.

Attention aux projets de modélisation. Si vous avez utilisé les projets de modélisations dans la Beta 2, sachez qu’ils ne sont pas supportés tel quel dans la RC. Cameron Skinner nous propose
un outil en ligne de commande permettant de migrer les projets de modélisation ainsi que les diagrammes UML développé en Beta 2 vers la RC
.

Le Visual Studio Visualization and Modeling SDK RC est également disponible en téléchargement et pas seulement pour les abonnés MSDN. Ce SDK, en plus du DSL SDK, permet notamment d’étendre les fonctionnalités des diagrammes UML.

Enfin quelques changements (non exhaustifs) dans le TFS SDK comme nous l’indique Buck Hodges. Dans ces changements, à noter que la classe TeamFoundationServer devient obsolète et est remplacée par la classe TfsTeamProjectCollection.

Bons téléchargements !!

Microsoft décale le lancement de Visual Studio 2010 en Avril et sortira une RC en Février

Après les nombreux retours des utilisateurs auprès de Microsoft liés aux problèmes de performance de Visual Studio 2010 Beta 2, Microsoft a décidé de repousser de quelques semaines le lancement de Visual Studio 2010. Microsoft mettra à disposition une Release Candidate en Février. Le lancement de Visual Studio est donc repoussé au mois d’Avril. Scott Guthrie et Somasegar, ainsi que d’autres personnes, ont relayé cette information sur leur blog respectif. Ce décalage va permettre aux équipes de développement de Visual Studio de travailler sur l’amélioration des performances.

Brian Harry communique d’ailleurs régulièrement sur ces améliorations. On retrouve ainsi sur son blog une vidéo de comparaison des performances entre le Debugger de VS 2010 Beta 2 et la version actuelle. Egalement disponible, des tableaux comparatifs sur l’amélioration des performances de l’éditeur de code et de l’intelliSense et sur le chargement des solutions.