C# fxcop自定义规则-避免每个文件有多个类

C# fxcop自定义规则-避免每个文件有多个类,c#,fxcop,C#,Fxcop,由于fxcop是一个程序集检查器,是否可以创建一个自定义规则来检查每个文件是否有多个类 如果是,怎么做 谢谢你的帮助,这是不可能的。因为FxCop只检查二进制文件,所以不可能知道类是在哪个文件中定义的 但是,请看,这是一个开箱即用的规则。(SA1402:FileMayOnlyContainASingleClass)正如您自己所说:FxCop检查已编译的程序集。因此,不再有类似于源代码文件的东西了。所以答案是否定的 但是MS StyleCop(非常类似于FxCop,但是分析源代码文件而不是IL代码

由于fxcop是一个程序集检查器,是否可以创建一个自定义规则来检查每个文件是否有多个类

如果是,怎么做


谢谢你的帮助,这是不可能的。因为FxCop只检查二进制文件,所以不可能知道类是在哪个文件中定义的


但是,请看,这是一个开箱即用的规则。(SA1402:FileMayOnlyContainASingleClass)

正如您自己所说:FxCop检查已编译的程序集。因此,不再有类似于源代码文件的东西了。所以答案是否定的

但是MS StyleCop(非常类似于FxCop,但是分析源代码文件而不是IL代码)可能可以做您想要的事情。我不知道这样一个StyleCop规则是否已经存在——如果已经存在,那么它肯定不在StyleCop“开箱即用”的规则集合中(即MS预定义的规则…)

编辑: 我现在看到,实际上有这样一个规则(见上面的答案)…

我的想法

  • 假设调试程序可以显示方法/类的代码
  • 调试器必须能够从pdb文件中获取方法正在使用的文件
  • 所以你应该也能做到

抱歉,我不知道如何从pdb文件中读取信息。

@SLaks:抱歉,我没有忽略StyleCop这个词&没有注意到您提到的确切规则。抱歉&+1:)谢谢你的回答。对于fxcopIt来说,pdb文件可能不太好,但是StyleCop更适合这种检查;看看我的答案。