比较两个.NET程序集的版本?

7
如何比较两个已编译的.NET程序集版本以查看它们之间的差异?我有一个文档不够完整的库,需要知道旧版本和新版本之间发生了什么变化。

你有源代码吗?这个源代码有版本控制器吗?与编译后的程序集相比,使用源代码更容易。 - Darin Dimitrov
不,我没有源代码,看起来NDepend可以解决问题! - user433731
5个回答

4
除了Reflector之外,您还可以使用NDepend来执行此任务。请注意,这是一款商业软件,但该网站提供免费试用版。以下是一个在线教程,介绍如何使用NDepend比较两个程序集。

3
该工具NDepend提供了许多功能来处理.NET代码差异。免责声明:我是该工具的开发人员之一。
面板按更改搜索专用于浏览程序集代码差异。请注意:
  • 您可以通过菜单比较源文件的旧版本和新版本连接到NDepend使用的任何代码差异工具。
  • 如果您没有源代码,只有原始程序集,则有选项使用Reflector反汇编比较旧版和新版

NDepend Search by Diff Panel

在屏幕截图中还要注意生成了一个CQLinq代码查询以浏览差异。
from m in Application.Methods 
where m.CodeWasChanged() 
select new { m, m.NbLinesOfCode }

许多其他默认的diff查询和规则已经被提出,这将让您以智能的方式浏览.NET代码差异。

1

1

0
你有代码还是只有程序集?如果你有编译好的版本,一种方法是使用Visual Studio中的对象浏览器来查看它们。另一种方法可能是使用反汇编工具,比如Red Gates Reflector来查看源代码。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接