2010-08-11 13 views
0

Je voudrais utiliser fxcop dans une construction continue, et presque toutes les classes de mon projet sont analysées, mais il y a une exception (charge d'assemblage) et cela fait fxcopcmd avec le code d'erreur 8. Donc la construction continue échoue, parce que de ce code d'erreur.Existe-t-il un moyen de faire que fxcopcmd retourne toujours 0?

Je veux que la construction se termine, de sorte que je puisse présenter tous les résultats, même ces exceptions.

Y a-t-il un moyen de supprimer le code d'erreur?

Merci

+0

Pourriez-vous fournir plus d'informations? Pourquoi ne peut-il pas charger l'ensemble? – Peter

Répondre

0

Vous pouvez rechercher pourquoi il ne peut pas charger l'assemblée. Si vous souhaitez simplement que la génération continue, même s'il existe des violations de règle FxCop, vous pouvez définir FailOnError sur False. Si vous utilisez MSBuild, c'est. Notre dossier a quelque chose qui ressemble à ceci (jamais l'esprit les variables):

<FxCop TargetAssemblies="@(BusinessAssembly)" ProjectFile="business.fxcop" AnalysisReportFileName="$(FxCopReportFile)" ToolPath="$(FxCopToolPath)" FailOnError="True" /> 

Si vous définissez la FailOnError sur False, la construction va juste continuer, mais vous aurez le rapport de business.fxcop. Mais, s'il y a de vraies violations de FxCop, la construction continuera aussi. Garde cela à l'esprit.

+0

J'utilise fxcopcmd sur un projet que je ne peux pas modifier. Donc, s'il y a un problème, il n'y a rien que je puisse faire, mais je ne peux pas dire au client "votre code a un problème, je ne peux rien faire avec" non plus. J'ai créé un proxy exe qui appelle le vrai exe et renvoie 0. Mais merci pour le conseil, cela pourrait être utile. –