2010-04-14 7 views
5

Je vais analyser deux versions différentes de la même DLL avec fxcop. Je voudrais afficher uniquement les différences entre ces deux rapports. Est-ce que quelqu'un sait si c'est possible?Comparez deux résultats fxcop

Merci pour votre temps.

+0

Avez-vous pu compléter cela? –

Répondre

2

Oui, c'est possible, mais il n'y a pas d'outils intégrés disponibles pour cela. Une approche assez simple consisterait à utiliser un outil de comparaison pour comparer les deux rapports. Si le résultat est trop bruyant pour vous, une autre approche consisterait à lancer votre propre outil pour comparer le code XML des deux rapports.

2

Utilisez-vous l'interface utilisateur ou la ligne de commande?

Avec l'outil de ligne de commande, vous disposez d'un certain nombre d'options. L'un d'entre eux consiste à importer un ancien rapport à utiliser comme référence. Définissez ensuite le projet fxcop pour signaler uniquement les nouvelles erreurs: Etat du rapport = "Actif, Absent" NewOnly = "Vrai"

La ligne de commande ressemblera à ceci: fxcopcmd.exe /i:OldVersionReport.xml/out: NewVersionReport .xml /p:FXCopProject.fxcop /f:mydll.dll

Le nouveau rapport ne comportera qu'une nouvelle erreur active et une liste des erreurs manquantes, c'est-à-dire des erreurs fixes de l'ancienne version.

Bien que cela fonctionne pour la plupart, vous devez comprendre que la différence ne sera pas 100% acurate. FXCop fait de son mieux pour faire correspondre l'ancien rapport à la nouvelle version de la DLL, mais parfois il échoue. Par exemple, si vous avez corrigé une violation particulière quelque part dans le code, mais que vous avez ajouté le même type de violation à un autre endroit, FXCop le manquera probablement et ne montrera aucune différence.

0

Pour FxCop VS 2010, il vous suffit d'avoir /saveMessagesToReport:Absent avec le fichier FxCop généré plus ancien /import:"OldFile.xml" spécifié. Juste un exemple.

 fxcopcmd.exe /import:"c:\Old.xml" /summary "/file:c:\*.dll" 
    /saveMessagesToReport:Absent /out:"c:\Output.xml"