Question

Selon cette matrice de fonctionnalités , Visual Studio 2010 Premium (RC) inclut une "analyse de code statique".

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

Me manque-t-il quelque chose d'évident ou cette fonctionnalité est-elle uniquement disponible dans l'édition Ultimate?

Était-ce utile?

La solution

Il semble en effet y avoir une certaine confusion quant à savoir si les contrats de code sont inclus dans le cadre fourni avec la version bêta 2 de VS2010, voire dans VS2010 lui-même. Le forum Contrats de code (et spécialement cet article ) a plusieurs mentions de ceci sans réponses pour le moment.

Je ne pense pas que les contrats de code relèvent de l'analyse de code statique. Je pense que l'analyse de code statique fait référence à d'autres outils d'analyse de code comme FxCop.

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

Selon le commentaire de Melitta (de l'équipe des classes de base) sur l'article de connexion Rendre la vérification statique du contrat de données disponible dans Professional Edition :

  

... mais la restriction sur l'outil d'analyse statique est valable pour cette version à venir. Cela assure la cohérence de l'histoire de l'analyse de code, car les outils d'analyse statique nécessitent VSTS.

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

Autres conseils

Pour obtenir une analyse statique en version bêta 2, vous devez télécharger et installer les bits Code Contracts (1.2.21023.14 ou version ultérieure) à partir de DevLabs MSDN . Ensuite, sous les propriétés du projet, il y aura maintenant un onglet Contrats de code ... à partir de là, vous pouvez activer l'analyse statique ...

Le problème observé est que l'API Code Contracts est dans l'assembly mscorlib, ce qui permet aux assertions de fonctionner, mais rien d'autre.

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

Vous devez activer la vérification à 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 de Microsoft (malgré le fait que le fichier Contract.Requires existe dans la structure).

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

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top