2009-08-11 3 views
4

Nous avons une solution avec 15 projets, dont l'analyse de code est activée.Comment puis-je supprimer l'analyse de code statique pendant la génération?

La solution prend facilement plus de 60 secondes à construire, ce qui représente une très longue période d'attente.

Si je désactive l'analyse de code, il se construit en 10 secondes.

J'aimerais pouvoir désactiver l'analyse de code sur une base ad-hoc. Mais je veux toujours une analyse de code lors de la construction avant l'enregistrement, et je veux aussi que notre Build Server (Cruise Control) continue à fonctionner avec l'analyse de code activée.

Je préférerais que l'analyse de code s'exécute à partir de Visual Studio, donc je peux passer directement au code source si j'obtiens une erreur/avertissement.

Répondre

9

Voici comment nous le faisons:

  • Désactiver (ou plutôt: ne permettent pas) l'analyse du code (CA) pour debug.
  • Créez une nouvelle configuration de construction appelée Vérifier où l'analyse de code est activée et les avertissements sont traités comme des erreurs.
  • Conserver la version Release telle quelle.

Nous faisons de notre développement normal en mode débogage, et ont simplement une règle informelle que vous devez passer une Vérifiez construction avant votre arrivée.

C'est facile d'oublier, mais nous courons l'intégration continue (CI) sur la version de vérification, donc si vous vérifiez le code qui a des avertissements d'analyse de code, vous cassez la construction - donc les gens apprennent rapidement à faire une vérification manuelle avant de s'enregistrer :)

Vous pouvez également utiliser Debug sans CA et Release with CA, mais puisque l'activation de CA définit la constante CODE_ANALYSIS, cela signifie que les suppressions d'AC seront incluses dans l'IL, et je préfère ne pas en avoir dans mon Re binaires de bail (YMMV).

+0

Pour plus d'informations sur les suppressions de CA dans l'IL, consultez http://msdn.microsoft.com/en-us/library/ms244717(VS.80).aspx –

+0

+1 Pourrait également faire un '/ p: CODE_ANALYSIS 'sur une base globale sur le serveur CI au lieu d'une nouvelle config VS build (et fournir un équivalent equiv sur le bureau) si vous avez une machine CI 'Commit/vérification' Build Configuration où le truc dans les bacs n'a pas d'importance –

1

Nous avons eu ce genre de problème avec nos affaires. Nous avons tout le monde quad processeurs 64 bits et entre 8 un RAM 16Go. De plus, nous avons essayé de limiter le nombre de projets à tout moment. Pas la solution la plus gracieuse, mais cela a beaucoup aidé.

Questions connexes