我想比较一个类的两个版本。我使用过WinDiff,但由于评论不同等原因,它显示出很多差异。
有没有人知道比较.NET的两个类定义(字段,方法等)的工具?
谢谢,
马丁
答案 0 :(得分:3)
您可以使用WinMerge,它原则上像WinDiff一样工作,但您可以定义行过滤器来描述您想要忽略的内容(如注释)。
要按类结构比较类,可以编译它们,使用Lutz Roeder's reflector对它们进行反编译,然后将结果与WinDiff或WinMerge进行比较。
答案 1 :(得分:1)
如果你想比较源代码,然后使用漂亮的格式化程序(例如VS中的格式化程序)来规范化格式化,你仍然需要处理成员和评论的排序等。
更好的方法是在编译的程序集上使用Reflector。选择每个类,展开其方法(如果要在比较中包含方法实现),复制并粘贴到文本文件中,然后比较文本文件。
这应该消除所有非重要的(即不在集合中)细节。
(注意,可能有一个Reflector插件直接执行此操作。)
答案 2 :(得分:0)
我们的Smart Differencer在语言结构方面比较了两个编程语言源文件,而不是文本布局,因此它将忽略注释和空白更改。
有许多语言的版本,包括C#,但不包括VB.net。