比较编译的 .NET 程序集? [英] Compare compiled .NET assemblies?

查看:25
本文介绍了比较编译的 .NET 程序集?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

有什么好的程序可以与编译 .NET 程序集进行比较吗?

Are there any good programs out there to compare to compile .NET assemblies?

例如我有 HelloWorld.dll (1.0.0.0) 和 HelloWorld.dll (2.0.0.0),我想比较差异我该怎么做?

For example I have HelloWorld.dll (1.0.0.0) and HelloWorld.dll (2.0.0.0), and I want to compare differences how can I do this?

我知道我可以使用 .NET Reflector 并使用 Assembly Diff 插件.有没有其他好的工具可以做到这一点?

I know I can use .NET Reflector and use the Assembly Diff plugin. Are there any other good tools out there to do this?

推荐答案

比较 .NET 程序集的方法 建议

商业:

免费:

  • JustAssembly (only shows differences in API)
  • BitDiffer (same)
  • Reflector Diff Add-in (which you've already discovered, but not available anymore)

现有的比较工具,如 Beyond Compare(商业版)可以通过特殊配置来做到这一点.以下是针对 Beyond Compare 执行此操作的方法:

Existing compare tools like Beyond Compare (commercial) can do this by special configuration. Here's how to do this for Beyond Compare:

  • 转到工具选项
  • 点击新建..,选择文本格式",点击确定
  • 为其命名(例如,EXE 或 DLL),并将掩码指定为 *.exe*.dll
  • 点击标签 Conversion 并选择外部程序(Unicode 文件名)"
  • 在Loading"下,指定ildasm的路径并添加 %s/OUT:%t/NOBAR(即:C:Program Files(x86)Microsoft SDKsWindowsv10.0AinNETFX 4.8 Toolsildasm.exe %s/OUT:%t/NOBAR)
  • 确保选中禁用编辑.
  • 点击保存,然后关闭
  • 重启BC并打开两个exe文件进行对比,现在应该会自动反编译成ilasm.
  • Go to ToolsOptions
  • Click New.., select "Text format", click OK
  • Give it a name (say, EXE, or DLL), and specify the mask as *.exe or *.dll
  • Click on tab Conversion and select "External program (Unicode filenames)"
  • Under "Loading", specify the path to ildasm and add %s /OUT:%t /NOBAR (i.e.: C:Program Files (x86)Microsoft SDKsWindowsv10.0AinNETFX 4.8 Toolsildasm.exe %s /OUT:%t /NOBAR)
  • Make sure to check disable editing.
  • Click Save, then Close
  • Restart BC and open two exe files to compare, it should decompile into ilasm automatically now.

您还可以为这种新格式添加语法突出显示.我计划将语法文件发送给他们,以便可以共享.

You can also add syntax highlighting to this new format. I plan to send the syntax file to them so that it'll become available to share.

这篇关于比较编译的 .NET 程序集?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆