Ответ 1
Способы сравнения .NET Assemblies предлагают
Коммерческий:
Free:
Есть ли хорошие программы для сравнения с сборками .NET?
Например, у меня есть HelloWorld.dll(1.0.0.0) и HelloWorld.dll(2.0.0.0), и я хочу сравнить различия, как я могу это сделать?
Я знаю, что могу использовать .NET Reflector и использовать плагин Assembly Diff. Есть ли другие хорошие инструменты для этого?
Способы сравнения .NET Assemblies предлагают
Коммерческий:
Free:
Два способа.
Вы можете использовать ILDASM и классифицировать классические инструменты.
Или вы можете использовать NDepends, который будет стоить для этой функции.
[Piece to С# bloaters..]
Мне просто пришлось сравнить две версии одной и той же DLL, имеющей ту же самую версию (мне нужно было реализовать небольшое исправление и развернуть DLL на производстве, но я хотел убедиться, что никаких других изменений не произошло в коде), В идеале я бы хотел, чтобы надстройка Assemby Diff показала мне разницу, но она не работает (она думает, что я сравниваю DLL с собой). Так вот что я сделал:
Это немного клочья, но, похоже, работает. Я бы хотел, чтобы надстройка Diff была обработана.
UPDATE: последняя версия надстройки Diff для сборки должна исправить проблему сравнения двух версий одной и той же сборки. Попробуйте.
Инструмент NDepend предлагает множество функций для обработки .NET code diff. Отказ от ответственности: я являюсь одним из разработчиков этого инструмента.
Панель Поиск по изменению предназначена для просмотра кода сборок. Обратите внимание:
Обратите внимание также, что на скриншоте создается запрос CQLinq code для просмотра diff.
from m in Application.Methods
where m.CodeWasChanged()
select new { m, m.NbLinesOfCode }
По умолчанию предлагается множество других запросов и правил по умолчанию, которые позволят вам просматривать .NET-код diff умным способом.
Еще одна опция LibCheck от Microsoft.
Довольно старый консольный инструмент для получения общедоступного API diff. Я не мог работать без отладки и перенацеливания в более новую версию .net. Тем не менее, это дало мне очень четкие результаты, и я собираюсь использовать его позже.
Вот статья со скриншотами.
Java имеет приятный вариант: утилиты Semantic Diff