Selon Cette matrice de fonctionnalité , Visual Studio 2010 Premium (RC) comprend une "analyse de code statique". P>
Cependant, ajout d'appels à Je manque quelque chose d'évident ou est cette fonctionnalité uniquement disponible dans l'édition ultime? P> contrat.Requires code> 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. P>
3 Réponses :
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. p>
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. P>
J'ai essayé d'utiliser 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 : p>
... 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. P>
blockQuote>
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. P> contrat.requires code> 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. P>
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/... )
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). p>
Seule la vérification de l'exécution est disponible dans les éditions professionnelles. P>
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 ... P>
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. P>
Je suppose que cela ne sera pas nécessaire par RTM. P>
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.