Làm thế nào để so sánh 2 phiên bản của một bộ sưu tập .NET được biên dịch để xem các thay đổi giữa 2 phiên bản? Tôi có một thư viện không có tài liệu và tôi cần phải biết những gì đã được thay đổi giữa phiên bản cũ và phiên bản mới.So sánh 2 phiên bản của một assembly .NET?
Trả lời
Công cụ NDepend cung cấp nhiều tính năng để xử lý chênh lệch mã .NET. Tuyên bố từ chối trách nhiệm: Tôi là một trong những nhà phát triển của công cụ.
Bảng điều khiển Tìm kiếm theo thay đổi được dành riêng để duyệt mã hội đồng khác biệt. Chú ý rằng:
- Bạn có thể cắm vào bất kỳ công cụ mã NDepend diff sử dụng bởi các đơn Hãy so sánh phiên bản cũ và mới của tập tin nguồn
- Nếu bạn không có mã nguồn, chỉ có lắp ráp thô, có phải là lựa chọn So sánh phiên bản cũ và mới tháo rời với Reflector
cũng hãy chú ý trong hình rằng một CQLinq code query được tạo để duyệt tìm khác biệt.
from m in Application.Methods
where m.CodeWasChanged()
select new { m, m.NbLinesOfCode }
Nhiều truy vấn và truy vấn khác mặc định khác được đề xuất theo mặc định, cho phép bạn duyệt mã .NET theo cách thông minh.
- 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
Sử dụng Red Gate's .NET reflector
và bạn sẽ có thể xem xét các thay đổi mã thực tế giữa các hội đồng.
Tôi sử dụng trình phản xạ, với plugin Diff.
Bạn cũng có thể thấy bài đăng Hanselman này hữu ích, vì nó đánh giá các công cụ khác, bao gồm Reflector Diff.
http://www.hanselman.com/blog/ManagingChangeWithNETAssemblyDiffTools.aspx
Ngoài Reflector, bạn có thể sử dụng NDepend để thực hiện nhiệm vụ này. Xin lưu ý rằng đây là một phần mềm thương mại, nhưng trang web cung cấp bản dùng thử miễn phí. Đây là một online tutorial về cách người ta có thể sử dụng NDepend để so sánh hai hội đồng.
Bạn có mã hay chỉ là hội đồng? Trong trường hợp bạn có các phiên bản đã biên dịch, một cách là tìm hiểu chúng bằng cách sử dụng trình duyệt đối tượng trong Visual Studio. Cách tiếp cận khác có thể sử dụng bộ tách rời như Red Gates Reflector để xem mã nguồn.
- 1. Thay đổi Phiên bản Phiên bản trong một assembly được biên dịch .NET
- 2. Làm cho phiên bản TeamCity Match .NET Assembly Version
- 3. Tải các phiên bản khác nhau của cùng một assembly
- 4. Làm cách nào để so sánh hai phiên bản AssemblyName?
- 5. Phiên bản GAC và Assembly
- 6. .NET: Tải hai phiên bản của cùng một DLL
- 7. Git so sánh phiên bản "cơ sở" với phiên bản "của họ" của một tệp bị xung đột?
- 8. Cách hiển thị so sánh 2 khối văn bản html
- 9. ASP.net: Tôi có thể có 2 phiên bản khác nhau của cùng một dll/assembly trong thư mục bin không?
- 10. So sánh phiên bản văn bản trong FCKEditor
- 11. So sánh chuỗi trong .Net: "+" so với "-"
- 12. So sánh các chuỗi phiên bản trong groovy
- 13. So sánh hai phiên bản của một thủ tục lưu sẵn
- 14. Cách so sánh các phiên bản gói Debian
- 15. So sánh số phiên bản bên trong makefile
- 16. So sánh các phiên bản dưới dạng chuỗi
- 17. So sánh hai chuỗi phiên bản trong PHP
- 18. C#: cách đặt số phiên bản của assembly
- 19. .NET Assembly Diff/Compare Tool - Có gì?
- 20. Đọc thông tin phiên bản Assembly của ứng dụng WPF
- 21. So sánh giá trị của 2 danh sách C#
- 22. So sánh triển khai JPA 2.0: Hibernate 3.5 so với EclipseLink 2 so với OpenJPA 2
- 23. Bảng Lua Phân loại 2 so sánh
- 24. Chi tiết về phiên bản Assembly
- 25. Cách so sánh 2 mục tiêu Xcode
- 26. cách so sánh 2 json trong python
- 27. Cách tốt nhất để so sánh 2 tài liệu XML trong .NET
- 28. Có phiên bản Selenium 2 của Selenium 2 không?
- 29. Chuỗi câu lệnh .NET C# switch so sánh với enum so sánh
- 30. làm cứng phiên php - lỗi so sánh
Bạn có mã nguồn không? Bộ điều khiển phiên bản mã nguồn này có phải không?Nó luôn luôn dễ dàng hơn để làm việc với mã nguồn hơn là biên dịch hội đồng. –
Không, tôi không có mã nguồn, có vẻ như NDepend sẽ thực hiện thủ thuật! – user433731