7
votes

Visual Studio 2010 Premium comprend-il les outils contractuels?

Selon Cette matrice de fonctionnalité , Visual Studio 2010 Premium (RC) comprend une "analyse de code statique".

Cependant, ajout d'appels à contrat.Requires au début de mes méthodes ne semble avoir aucun effet. Je ne reçois pas d'exceptions d'exécution si le contrat est violé. Je ne reçois pas d'avertissements du compilateur si un contrat ne peut être prouvé. Je ne trouve pas non plus un onglet "Contrats de code" dans les paramètres du projet.

Je manque quelque chose d'évident ou est cette fonctionnalité uniquement disponible dans l'édition ultime?


0 commentaires

3 Réponses :


3
votes

Il semble en effet être une certaine confusion quant à savoir si des contrats de code sont inclus ou non dans le cadre fourni avec la version bêta 2 de VS2010, voire à VS2010 elle-même. Le Forum des contrats de code (et de manière appropriée Ce Post) a plusieurs mentions de ceci sans réponse à ce jour.


Je ne pense pas que les contrats de code tombent sous la rubrique d'analyse de code statique. Je pense que l'analyse de code statique fait référence à d'autres outils d'analyse de code tels que FXCop.

J'ai essayé d'utiliser contrat.requires dans VS2010 Beta 2 Edition ultime, mais j'ai le même comportement que vous. Si vous regardez dans les propriétés du projet dans l'onglet Analyse de code, vous pouvez activer l'analyse de code, mais cela ne concerne pas les contrats de code.

Selon le commentaire de Melitta (de l'équipe de bibliothèques de la classe de base) sur l'article Connect Créer un contrat de données Vérification statique disponible en édition professionnelle :

... Mais la restriction de l'outil d'analyse statique correspond à cette version à venir. Il conserve l'histoire de l'analyse de code cohérente, en ce que les outils d'analyse statique nécessitent des VSTS.

Cela suggère que vous devez avoir la version du système d'équipe pour obtenir la version de la compilation des contrats de code.


2 commentaires

Y a-t-il même une "édition d'équipe" plus à VS2010? La matrice de fonctionnalité ne le montre pas.


Je pense que les versions du système d'équipe se transforment en version ultime de 2010 ( Microsoft.com/visualstudio/en-gb/products/msdn/... )



1
votes

Vous devez activer la vérification de l'exécution des contrats de code dans les propriétés du projet. Si ce volet de paramètres n'existe pas, vous devez installer le téléchargement des contrats de code à partir de Microsoft (malgré le fait que le contrat.Requires existe dans le cadre).

Seule la vérification de l'exécution est disponible dans les éditions professionnelles.


0 commentaires

3
votes

Pour obtenir une analyse statique dans beta 2, vous devez télécharger et installer les bits de contrats de code (1.2.21023.14 ou supérieur) de msdn devlabs . Ensuite, dans les propriétés du projet, il y aura maintenant un onglet de contrats de code ... à partir de là, vous pouvez activer une analyse statique ...

Le comportement que vous voyez est que le Code contracte API est dans l'assemblage MSCorlib, ce qui permet aux affirmations de travailler, mais rien d'autre.

Je suppose que cela ne sera pas nécessaire par RTM.


1 commentaires

Malheureusement, cela semble ne fonctionne toujours pas dans RTM. Mme a bâclé celui-ci. Vous pouvez mettre dans des contrats.requires, mais la magie ne se produit pas vraiment jusqu'à ce que vous téléchargiez les outils de codécontrices.