2010-08-28 104 views
7

如何比較一個已編譯的.NET程序集的2個版本以查看這兩個版本之間的變化?我有一個沒有很好記錄的庫,我需要知道舊版本和新版本之間的變化。比較.NET程序集的2個版本?

+0

你有源代碼嗎?這個源代碼版本控制器?使用源代碼而不是編譯程序集總是更容易。 – 2010-08-28 14:24:45

+0

不,我沒有源代碼,看來NDepend會訣竅! – user433731 2010-08-28 14:42:37

回答

2

該工具NDepend提供了許多功能來處理.NET代碼差異。 聲明:我是工具的開發人員之一。

面板通過變更搜索致力於瀏覽程序集代碼差異。注意:

  • 你可以插上NDepend的通過菜單使用的任何代碼的diff工具比較源文件的舊的和新的版本
  • 如果你沒有源代碼,只有生組件,還有就是選擇比較截圖與反射器拆卸

NDepend Search by Diff Panel

還要注意新舊版本生成CQLinq code query以瀏覽差異。

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

其他許多默認差異查詢和規則是默認提出的,這將允許您以智能方式瀏覽.NET代碼差異。

4

除了反射器,你可以用NDepend執行此任務。請注意,這是一個商業軟件,但該網站提供免費試用。以下是關於如何使用NDepend比較兩個程序集的online tutorial

0

你有代碼或只是程序集?如果你有編譯版本,一種方法是使用visual Studio中的對象瀏覽器挖掘它們。另一種方法可能是使用像Red Gates Reflector這樣的反彙編器來查看源代碼。