我正在寻找一个库来对 CIL 代码进行自定义静态代码分析。阅读:我对已经进行静态分析的工具没有兴趣,就像这里显示的那样。
对于使用Java字节码的自定义分析,我使用了ASM,我喜欢它提供的功能和良好的文档。在谷歌上快速搜索"CIL静态分析库"并没有产生任何似乎提供ASM功能的东西。
Mono.Cecil 是 CIL 分析的最佳库。它是免费的,开源的,完整的,轻量级的,健壮的和快速的。除了读取 CIL,它还可以写入 CIL。它还支持 PDB 文件。
许多静态分析工具多年来一直依赖 Cecil。
看看 Reflector: www.reflector.net/
我发现的最接近的东西是Microsoft的FxCop实用程序。(此处的独立下载链接,1.36 似乎已经消失,但有人根据另一个 SO 问题将其重新上传到他们的 Dropbox )
它当然与 C/C++ 静态分析工具相差无几,但话又说回来,C# 是一种托管语言,其中许多静态分析工具检查的常见错误是不可能的。
此外,维基百科上有一个用于 .NET 的静态分析工具的简短列表,可能值得一看。