用于以编程方式比较程序集 .NET(反射、MSIL)的 API
例如,我有 Assembly1.dll (1.0.0.0) 和 Assembly1.dll (1.0.0.0),位于不同的文件夹中,我想比较差异(如果每个程序集具有相同的类并且每个类具有相同的方法,或者比较所有 MSIL代码)。有什么API可以做到这一点吗?
有一些工具,例如 比较已编译的 .NET 程序集?,但我需要使用 API 来集成我的自定义应用程序、脚本和插件中的代码。
For example I have Assembly1.dll (1.0.0.0) and Assembly1.dll (1.0.0.0), in differents folders and I want to compare differences (if each assembly has the same Classes and each class the same methods, or compare all MSIL code). any APIs for do this?
There are tools, like this Compare compiled .NET assemblies?, but I need use APIs for integrated code in my custom applications, scripting and addins.
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(3)
如果您想要 API 而不是固定工具,为什么不使用 System.反射来构建您需要的API?
If you want an API and not a canned tool, why not use System.Reflection to construct the API that you need?
您还可以查看 Mono.Cecil。 (它是内部使用的库 通过 NDepend 等其他工具)。
You could also checkout Mono.Cecil. (it is the library internally used by other tools like NDepend).
如果您需要对方法的内容进行详细比较,可以使用 FxCop API (通常用于编写 FxCop< /a> 规则)。它使用比反射更丰富的内省模型。
If you need to do detailed comparisons down to the content of methods, you can use the FxCop API (which is normally used to write FxCop rules). It uses an introspection model that is much richer than reflection.