用于C#/ .NET代码分析的API

Ada*_*her 2 .net c#

我不确定标题是否准确描述了我想要问的内容......

基本上,Visual Studio如何查看CSPROJ中的代码文件并确定方法或变量的引用,或者using代码中是否未使用语句?显然,它不仅仅是进行简单的文本解析,而且它似乎在进行构建之前工作,因此我认为它不会引用程序集/ CLR.

我是否可以从外部应用程序绑定一个API,如果我让用户选择他们的CSPROJ或SLN文件,并且能够报告using文件中未使用的语句,或者在代码中没有被调用的方法/变量?

我问,因为我正在考虑构建某种报告工具来显示可能发生代码清理的区域,但我不确定从哪里开始.

谢谢!

编辑:作为一个后续问题,有没有类似的工具?

Ree*_*sey 7

除了提供像Intellisense这样的功能之外,Visual Studio还可以动态编译,以确定许多类似的东西.

现在,编译器都是"黑盒子",不能直接使用.该罗斯林项目有改变这一点,让正在做代码分析的广度是有用的目标.它目前在CTP中,现在可以使用.

编辑:作为一个后续问题,有没有类似的工具?

许多第三方扩展(例如Resharper)提供了大部分此功能(例如其安全删除重构和解决方案范围检查).

  • @AdamPlocher我怀疑JetBrains有他们自己的"C#编译器"用于他们的分析 (2认同)