用于以编程方式比较程序集.NET(Reflection,MSIL)的API

时间:2010-09-23 14:58:21

标签: .net reflection scripting assemblies compare

例如我有不同文件夹中的Assembly1.dll(1.0.0.0)和Assembly1.dll(1.0.0.0),我想比较差异(如果每个程序集具有相同的类,并且每个类具有相同的方法,或者比较所有MSIL代码)。用于执行此操作的任何API?

有一些工具,比如Compare compiled .NET assemblies?,但我需要在我的自定义应用程序,脚本和插件中使用API​​来集成代码。

3 个答案:

答案 0 :(得分:3)

如果您需要API而不是固定工具,为什么不使用System.Reflection来构建您需要的API?

答案 1 :(得分:2)

您还可以结帐Mono.Cecil。 (它是其他工具的库internally used,如NDepend)。

答案 2 :(得分:1)

如果需要对方法内容进行详细比较,可以使用FxCop API(通常用于编写FxCop规则)。它使用的内省模型比反射更丰富。