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

时间:2010-08-28 14:19:47

标签: .net diff

如何比较已编译的.NET程序集的2个版本以查看2个版本之间的更改?我有一个没有详细记录的库,我需要知道旧版本和新版本之间的更改。

5 个答案:

答案 0 :(得分:4)

除了Reflector之外,您还可以使用NDepend来执行此任务。请注意,这是一个商业软件,但该网站提供免费试用。这是关于如何使用NDepend来比较两个程序集的online tutorial

答案 1 :(得分:2)

工具NDepend提供了许多处理.NET代码差异的功能。 免责声明:我是该工具的开发人员之一

面板按更改搜索专用于浏览程序集代码差异。请注意:

  • 您可以插入NDepend菜单使用的任何代码差异工具比较较新版本的源文件
  • 如果您没有源代码,只有原始程序集,则有选项使用Reflector
  • 比较旧版本和较新版本

NDepend Search by Diff Panel

另请注意,屏幕截图中会生成CQLinq code query来浏览差异。

from m in Application.Methods 
where m.CodeWasChanged() 
select new { m, m.NbLinesOfCode }

默认情况下会提出许多其他默认的diff查询和规则,这样可以让您以智能方式浏览.NET代码差异。

答案 2 :(得分:1)

使用Red Gate's .NET reflector,您将能够查看程序集之间的实际代码更改。

答案 3 :(得分:1)

我使用反射器,使用Diff插件。

您可能还会发现此Hanselman帖子很有用,因为它会查看其他工具,包括Reflector Diff。

http://www.hanselman.com/blog/ManagingChangeWithNETAssemblyDiffTools.aspx

答案 4 :(得分:0)

你有代码还是只有程序集?如果您有编译版本,一种方法是使用Visual Studio中的对象浏览器深入研究它们。另一种方法可能是使用像Red Gates Reflector这样的反汇编程序来查看源代码。