如何比較一個已編譯的.NET程序集的2個版本以查看這兩個版本之間的變化?我有一個沒有很好記錄的庫,我需要知道舊版本和新版本之間的變化。比較.NET程序集的2個版本?
7
A
回答
2
該工具NDepend提供了許多功能來處理.NET代碼差異。 聲明:我是工具的開發人員之一。
面板通過變更搜索致力於瀏覽程序集代碼差異。注意:
- 你可以插上NDepend的通過菜單使用的任何代碼的diff工具比較源文件的舊的和新的版本
- 如果你沒有源代碼,只有生組件,還有就是選擇比較截圖與反射器拆卸
還要注意新舊版本生成CQLinq code query以瀏覽差異。
from m in Application.Methods
where m.CodeWasChanged()
select new { m, m.NbLinesOfCode }
其他許多默認差異查詢和規則是默認提出的,這將允許您以智能方式瀏覽.NET代碼差異。
- Types that used to be 100% covered but not anymore
- API Breaking Changes: Methods
- Avoid making complex methods even more complex
- Avoid decreasing code coverage by tests of types
- From now, all types added or refactored should respect basic quality principles
- Avoid transforming an immutable type into a mutable one
- Heuristic to find types moved from one namespace or assembly to another
1
使用Red Gate's .NET reflector
,您將可以看看程序集之間的實際代碼更改。
1
我使用反射器和Diff插件。
你也許會發現這個Hanselman帖子很有用,因爲它評論了其他工具,包括Reflector Diff。
http://www.hanselman.com/blog/ManagingChangeWithNETAssemblyDiffTools.aspx
4
除了反射器,你可以用NDepend執行此任務。請注意,這是一個商業軟件,但該網站提供免費試用。以下是關於如何使用NDepend比較兩個程序集的online tutorial。
0
你有代碼或只是程序集?如果你有編譯版本,一種方法是使用visual Studio中的對象瀏覽器挖掘它們。另一種方法可能是使用像Red Gates Reflector這樣的反彙編器來查看源代碼。
相關問題
- 1. .NET程序集版本
- 2. 比較2個集
- 3. 運行Web應用程序具有較高的.NET Framework版本與服務器的.NET Framework版本比較
- 4. 使用版本化的.Net程序集
- 5. Oracle:比較過程的兩個版本
- 6. 版本比較
- 7. 在較新的.NET版本中運行的舊.NET版本中編譯的程序集會改變行爲嗎?
- 8. 在較低的.NET版本下運行.NET 4程序
- 9. 程序集比較兩個數字
- 10. 比較2個數據集中的R
- 11. 製作TeamCity版本匹配.NET程序集版本
- 12. 如何比較VB6中的2個版本
- 13. .NET版本號(安裝程序版本)
- 14. 比較2套Java集合
- 15. .NET程序集綁定,我可以將程序集映射到另一個程序集中的版本?
- 16. 使用PowerPivot比較2個數據集
- 17. 比較2個集(一對多行)
- 18. 如何比較2個mongodb集合?
- 19. Objective-C的版本比較
- 20. .NET 4.0和.NET 4.5程序集版本衝突
- 21. 比較DateTime for .NET應用程序
- 22. 在已編譯的.NET程序集中更改程序集版本
- 23. 比較基於屬性序列的2個節點集
- 24. 比較版本中產品版本
- 25. 比較xslt中的2個序列
- 26. 如何在Windows Vista和更新版本(Windows 7,2008)中查看.NET程序集的程序集版本?
- 27. Javascript函數來比較兩個版本
- 28. yum比較版本如何?
- 29. 如何比較Android版本
- 30. 比較版本(字符串)
你有源代碼嗎?這個源代碼版本控制器?使用源代碼而不是編譯程序集總是更容易。 – 2010-08-28 14:24:45
不,我沒有源代碼,看來NDepend會訣竅! – user433731 2010-08-28 14:42:37