Tôi nghĩ rằng "Thuật toán Diff phổ biến có thể tái sử dụng trong C#" trên Codeproject là tốt nhất bạn có thể tìm thấy dưới dạng .NET-Engine cho diff/patch/merge. Tôi đã thực hiện một dự án của riêng mình với nó và nó phù hợp với nhu cầu của tôi với hầu hết các kịch bản. Có một hoặc hai scencario trường hợp xấu nhất khi thuật toán thực hiện các tập tin bản vá lớn hơn nó phải được. Nhưng trong hầu hết các trường hợp nó hoạt động tốt cho tôi (textfiles với kích thước> 30 MB).
Tôi hiện đang thử nghiệm một dự án Codeproject khác mà bạn có thể tìm thấy tại đây: http://www.codeproject.com/KB/applications/patch.aspx Nó đang sử dụng một số DLL từ Microsoft để vá, vì vậy có vẻ thú vị. Nhưng những DLL không được quản lý và dự án này chỉ là một số loại trình bao bọc cho nó. Nhưng có lẽ nó có thể giúp bạn
Edit: Chỉ cần tìm thấy một dự án khác, DiffPlex: http://diffplex.codeplex.com/ Đó là một sự kết hợp của một NET Thư viện diffing với cả một Silverlight và HTML diff xem. Như đã nêu there, DiffPlex là thư viện mà CodePlex tận dụng để tạo ra sự khác biệt của tệp.
chủ đề này chưa được quản trị trong một thời gian, nhưng bạn đã kết thúc dự án khác về nguồn mở nào? Tôi đang tìm kiếm như vậy và bên cạnh các thư viện được liệt kê tôi đã không tìm thấy nhiều (thất vọng rằng rất ít đã thay đổi trong 2 năm ...). – marr75
marr75: tại đây bạn đi [Credit to Cheeso/Brian (xem câu trả lời bên dưới)]: "[Google Diff/Patch/Merge code] (http://code.google.com/p/google-diff-match-patch /) đã được chuyển đến C#. Thành phần COM vẫn hoạt động, nhưng nếu bạn đến từ .NET, bạn sẽ muốn sử dụng cổng .NET trực tiếp. " – Dave
Câu trả lời rất hữu ích trong năm 2015. Vui lòng không xóa, Trang web sẽ hữu ích hơn nếu loại nội dung này được cho phép (đọc: một trang web khác sẽ cho phép điều này và hơn thế nữa, và biến SO thành các chuyên gia trao đổi nếu các câu hỏi hữu ích như điều này tiếp tục bị đóng vì các lý do dựa trên giả thuyết bị lỗi trong SO faq). – FastAl