[Code Contracts] Nouvelle release 1.6.60505.10 (21 Mai 2014)

Cela fait longtemps que l’équipe Code Contracts n’a pas publié de nouvelle Release (je pense que la cause principal est le fait que l’équipe doit synchroniser leurs développements avec l’équipe qui développe actuellement le nouveau compilateur Roslyn).

L’équipe de Code Contracts vient donc de publier une nouvelle Release de Code Contracts version 1.6.60505.10.

Cette Release apporte les améliorations suivantes :

  • Le support de Visual Studio 2013
  • Corrige bien évidemment des bugs au niveau de l’outil de ré-écriture et d’analyse statique du code.
  • De nouveaux contrats ont été ajoutés dans les bibliothèques du .NET Framework.
  • Et des améliorations au niveau de la performance de l’exécution de l’outil de vérification statique du code.

Vous pouvez télécharger cette release directement sur le site de la galérie de Visual Studio.

[TechDays 2014] Ask To Expert aux TechDays 2014 au Palais des Congrès de Paris

Je vous donne rendez-vous du 11 au 13 février 2014 au TechDays 2014 au Palais des Congrès de Paris où je serai ATE (Ask To Expert).

logo_mstechdays

Je me ferai un plaisir de répondre à vos questions concernant les technologies Microsoft durant les pauses. Pour me reconnaître, j’aurai un polos d’une couleur « flashy » où sera inscrit “Ask To Expert” (il est donc impossible de me rater !). Il y aura certains un stands dédiés aux communautés Microsoft que je viendrai squatter…

Depuis 2 ans, beaucoup de personnes viennent me contacter personnellement aux Tech Days ou MS Days afin de discuter sur ma technologie favorite : Code Contracts. Afin d’éviter de parler programmation « oralement », je vous invite à apporter votre ordinateur portable équipé d’un Visual Studio et de Code Contracts si vous souhaitez que je réponde plus précisément à vos questions sur vos projets !

Je vous invite à vous y rendre et à assister aux différentes sessions et en particulier celle dédiées aux dernières technologies Microsoft comme Visual Studio 2013 et Monaca, Windows Phone, Windows Azure et un paquet de session sur l’ALM…

Pour vous rendre aux TechDays 2014, il est nécessaire de s’inscrire sur le site de Microsoft à la rubrique dédié aux TechDays 2014.

[SQL Server] Clé primaire de type GUID (UNIQUEIDENTIFIER) ou autoincrémentée (IDENTITY) ?

Cela fait depuis 2005 que j’interviens pour du conseil, architecture, tuning et formation sur des bases de données SQL Server. Et Il n’y a pas un mois qui passe sans que survienne le fameux débat d’experts et d’architectes sur le choix du type de colonne pour les clés primaires. On retrouve le plus souvent sur la table deux choix possibles qui sont :

  • Le type GUID (UNIQUEIDENTIFIER en SQL)
  • Le type auto-incrémentée (INT ou BIGINT avec l’option IDENTITY en SQL)

Alors quel type de colonne est le plus performant ?

Continuer la lecture

[Moi] Encore nominé MVP C# pour la 7ème fois !

Pour la 7ème fois, je viens d’être nominé MVP C# ! Cette récompense est le résultat de mon implication dans la communauté Microsoft (TechDays, Blog et surtout dans les Forums MSDN).

Logo MVP

Cette année je continuerai mon implication dans les forums MSDN et j’essayerai de publier beaucoup plus d’article sur mon blog en particulier sur Code Contracts !

[TFS2013] Les paramètres de déclenchement d’un build TFS 2013 sont vides dans Visual Studio 2013 !

Ce week-end je viens de migrer mon premier serveur TFS depuis la version 2012 vers la version 2013. Tout s’est bien passé sans aucun problème (faut dire que depuis la version 2010 de TFS, l’installation et l’administration de TFS est un jeu d’enfant !).

J’ai juste eu la grosse surprise lorsque j’ai voulu déclencher un build sur le serveur TFS depuis Visual Studio 2013. En effet, l’onglet « Paramètres » de la mise en file d’attente de la build est systématiquement vide !

Visual Studio TFS2013 Arguments de Build vide

 

 

Au début je pensais que cela venait de mon workflow « super-custom », mais en utilisant le workflow standard fournit avec TFS 2013, le problème se posait aussi…

Une petite recherche sur internet, et je suis tombé sur la KB2898341 de Microsoft qui contient un correctif qui corrige ce problème… Donc à appliquer sur tous les postes clients qui contiennent Visual Studio 2013 (même pour un simple Team Explorer 2013).

[VS2012] Exécuter chacun de ses tests unitaires dans un AppDomain différent, c’est maintenant possible avec Visual Studio Test Extensions !

Aujourd’hui je viens de publier sur CodePlex mon projet Visual Studio Test Extensions qui contient des fonctionnalités complémentaires au moteur MSBuild afin de simplifier au maximum les tests automatiques, et bien évidemment en particulier, les tests unitaires !

Ce projet à pour 2 objectifs :

  • Proposer une infrastructure très légère permettant de faciliter la mise en place technique de certains tests unitaires (par exemple les tests unitaires avec les bases de données).
  • Proposer des méthodes utilitaires permettant de contrôler très facilement les résultats des tests (équivalent des classes Assert de Microsoft).

Continuer la lecture

[TFS2012] Comment bien gérer l’incrémentation des versions de ses applications de manière automatique avec TFS 2012.

Tous les informaticiens le savent, la gestion des numéros de version est ce qu’il y a de plus cruciale durant la vie d’une application. On incrémente régulièrement les numéros de version afin d’indiquer les changements effectués sur la nouvelle application.

Lorsque l’on développe en équipe, les sources de l’application sont le plus souvent archivées dans un gestionnaire de sources à travers différentes versions (au fil des modifications apportées au développement de l’application). Ces versions sont le plus souvent identifiées dans le gestionnaire de sources via des labels qui sont plus ou moins créés et gérés automatiquement. D’expérience la gestion des labels dans un gestionnaire de sources est souvent folklorique…  Les labels doivent être posés et nommés correctement… Quand il y en a trop, on ne s’y retrouve plus… Lorsque l’on oublie de poser un label, c’est la panique car il est impossible de trouver la version de son application !

Pour pallier à ce problème, on essaye d’automatiser l’incrémentation des versions et la pose des labels. Cet article a pour but de vous montrer les différentes stratégies de changement version automatique que j’ai pu rencontrer durant mes différentes interventions et pour chacune leurs inconvénients. Dans la deuxième partie de l’article, je vous présenterai ma stratégie de gestion de versions que je propose à mes différents clients, qui est très simple à mettre en oeuvre si l’on s’appuie sur un logiciel comme TFS.

Continuer la lecture

[.NET] Les collections immuables sont maintenant disponibles en version finale !

Microsoft vient d’annoncer que les collections immuables (Immutable Collections) sont maintenant disponible en version finale via la galerie NuGet.

Pour rappel, les collections immuables permettent de créer des listes qui ne change jamais cela permet de :

  • Partager une collection en privé et publique en s’assurant qu’elle ne sera jamais modifié.
  • Permet de faire de la programmation fonctionnelle (c’est un univers où tout est immuable…)
  • Et cerise sur le gâteau, elles permettent d’être utilisées facilement dans les scénario multi-thread. Leur design fait qu’elles sont automatiquement thread-safe…

Au passage, cette bibliothèque n’est pas intégré dans le .NET Framework, afin que l’équipe de développement de Microsoft puisse nous produire des releases régulières… Et ainsi d’éviter de baver ou d’attendre comme un gamin à noël, les prochaines versions du .NET Framework.

Dans les semaines qui vont venir j’écrirai quelques articles consacrés à ces collections afin de vous expliquer leur utilité. En attendant, ne restez pas immuable, et téléchargez cette bibliothèque depuis la galerie NuGet.

[Code Contracts] Nouvelle release 1.5.60911.10 (11 Septembre 2013)

L’équipe de Code Contracts vient de publier une nouvelle Release de Code Contracts version 1.5.60911.10.

Cette release corrige énormément de bugs concernant l’outil de vérification statique du code (cccheck.exe).

Vous pouvez télécharger cette release directement sur le site de la galérie de Visual Studio.

[Code Contracts] Nouvelle release 1.5.60813.10 (13 Août 2013)

L’équipe de Code Contracts vient de publier une nouvelle release de Code Contracts version 1.5.60813.10.

Cela fait depuis longtemps (plus de 3 mois) que l’équipe n’avais sortie une nouvelle release… Dans cette release 2 améliorations majeures :

  • La prise en charge de la Preview de Visual Studio 2013
  • La possibilité d’utiliser les post-conditions sur des méthodes async en utilisant « Contract.Result<T>() » et non « Contract.Result<Task<T>>().Result ».

Vous pouvez télécharger cette release directement sur le site de la galérie de Visual Studio.