Comportement bizarre sur les ajouts d’entités

Après quelques semaines à me demander quel était le bug étrange qui agitait la fenêtre “Add New Item” dans Visual Studio 2010, je crois que je viens de comprendre ce qui se passe : lorsque la fenêtre s’affiche, seuls les templates disponibles dans la version du framework que vous avez choisie sont visibles.

Par exemple, créons un projet en .NET avec la version 2.0 comme framework cible. Conformément à la logique, la liste ne propose pas les classes Linq To SQL. Bien…

greenshot_2010-03-24_22-51-20

Maintenant, si vous avez comme moi l’habitude de taper un mot clé dans la barre de recherche, plutôt que de chercher dans la liste, vous vous retrouvez d’un coup avec tout de disponible. Si on entre Linq en haut à droite, on se retrouve dans une entrée nommée “Search Results” :

greenshot_2010-03-24_22-56-41

Du coup, si on retourne sur “Visual C# Items”, la liste est désormais comme suit :

greenshot_2010-03-24_22-56-11

Si on descend plus bas, on voit désormais l’entrée Linq To SQL Classes, ce qui est presque normal (un message indiquant que le template a été trouvé mais n’est pas disponible sur cette version du framework .NET serait le bienvenu). Par contre, il semble que ça fasse carrément sauter la notion de filtre, parce qu’on voit du coup les templates sur les Entity ADO.NET, et d’autres templates plus récentes que .NET 2.0.

Là où ça pose problème, c’est qu’on peut choisir ces templates, et se retrouver avec des erreurs en cascade. Typiquement, si on prend les Linq To SQL Classes, on voit bien le designer Linq qui s’affiche, mais avec un message à la suite indiquant que la librairie System.Core n’a pas pu être ajoutée.

Logique, encore une fois, puisqu’on est en .NET 2.0, et que cette librairie n’est apparue que sur la version 3 du framework. Et si on va la chercher dans la liste des références, là, le blindage est plus consistant et on n’a pas moyen de la référencer depuis la liste standard .NET.

Bon, maintenant, essayer de voir sur les forums si quelqu’un a déjà envoyé le problème.

A propos de comportements bizarres, savez-vous que la RC de VS2010 a des plantages de l’Intellisense sur les machines équipées d’un TouchScreen, d’une tablette, etc. ? J’avoue que je ne vois pas le rapport. Ca fait peur, ce genre de bugs : la modularisation des applications devrait rendre inexistante les liens de ce type entre deux fonctionnalités qui n’ont rien à voir l’une avec l’autre… Si vous avez le problème, hotfix VS10-KB980610-x86.exe, et ça a l’air de marcher mieux (je l’ai juste mis hier, alors j’attends un peu, mais avant, c’était au moins une fois toutes les dix minutes, donc je pense que c’est bon).

About JP Gouigoux

Jean-Philippe Gouigoux est Architecte Logiciel, MVP Connected Systems Developer. Il intervient régulièrement à l'Université de Bretagne Sud ainsi qu'à l'Agile Tour. Plus de détails sur la page "Curriculum Vitae" de ce blog.
This entry was posted in .NET, Debogage and tagged . Bookmark the permalink.

Laisser un commentaire

Votre adresse de messagerie ne sera pas publiée. Les champs obligatoires sont indiqués avec *

Captcha Captcha Reload