/ / Pouvez-vous désactiver les symboles de compilation conditionnelle à partir de la ligne de commande msbuild.exe? - msbuild, analyse de code, fxcop

Pouvez-vous désactiver les symboles de compilation conditionnels à partir de la ligne de commande msbuild.exe? - msbuild, analyse de code, fxcop

CODE_ANALYSIS est défini dans notre C #composants afin que FxCop les analyse lorsque nous les construisons sur nos boîtes de développement. J'aimerais que FxCop soit désactivé lorsqu'il passe par notre système de construction. Le système de génération utilise évidemment la commande en ligne de commande msbuild.exe. Est-il possible de modifier les symboles de compilation conditionnelle à partir de cet exécutable? Sinon, est-ce que quelqu'un connaît d'autres solutions possibles à mon problème (autre que l'éteindre manuellement)?

Merci.

Réponses:

5 pour la réponse № 1

Les contrôles du symbole de compilation CODE_ANALYSISsi les instances SuppressMessageAttribute incluses dans le code sont copiées dans l'assembly compilé. Il ne contrôle pas si FxCop s'exécute. Si vous souhaitez remplacer une propriété MSBuild au niveau du projet telle que RunCodeAnalysis (qui est la beastie contrôlant si FxCop s'exécute sous MSBuild), vous devez pouvoir utiliser le commutateur de ligne de commande MSBuild.exe / property. par exemple.:

msbuild.exe <...> /property:RunCodeAnalysis=true

0 pour la réponse № 2

Pourquoi avez-vous besoin de les désactiver? La meilleure façon de configurer le projet consiste à définir CODE_ANALYSIS pour les configurations de débogage uniquement. La version de publication n'aura pas cette valeur définie. Ainsi, lorsque vous créez des installations de production, elles ne feront aucune référence à FxCop.