2009-11-23 12 views

Répondre

8

Ce n'est pas possible. Puisque FxCop inspecte uniquement les binaires, il est impossible de dire quel fichier a été défini par une classe.

Cependant, regardez StyleCop, qui vient avec une telle règle hors de la boîte. (SA1402: FileMayOnlyContainASingleClass)

+1

@SLaks: Désolé, je n'ai pas regardé le mot StyleCop et j'ai manqué que vous avez mentionné la règle exacte en place. Excuses et +1 :) – shahkalpesh

+0

Merci pour votre réponse. Tellement mauvais pour fxcop – Tim

+0

C'est peut-être possible avec des fichiers de pdb mais StyleCop est plus approprié pour cette vérification. – Guillaume

0

Comme vous le dites vous-même: FxCop vérifie les assemblys compilés. Ainsi, il n'y a plus rien comme un fichier de code source. Donc la réponse est non. Mais MS StyleCop (assez similaire à FxCop, mais analysant les fichiers source plutôt que le code IL) pourrait faire ce que vous voulez. Je ne sais pas, si une telle règle StyleCop existe déjà - si c'est le cas, ce n'est certainement pas dans l'ensemble des règles fournies avec StyleCop "out of the box" (c'est-à-dire les MS prédéfinies ...).

HTH!

EDIT: Je l'ai vu au moment, qu'il ya effectivement une telle règle (voir réponse ci-dessus) ...

+1

Il existe une telle règle dans StyleCop; vois ma réponse. – SLaks

+0

merci pour votre réponse aussi – Tim

0

Ma pensée ...

  • Étant donné que la debuger peut afficher le code de la méthode/classe.
  • Le débogueur doit être en mesure d'obtenir le fichier dans lequel la méthode est utilisée le fichier pdb.
  • Donc, vous devriez être capable de faire la même chose.

Désolé je ne sais pas comment lire les informations du fichier pdb.