MarichamyK Ответов: 2

Хотите сравнить 2 файла класса C# из 2 версий проекта


хотите сравнить 2 файла класса C# из 2 версий проекта, базовые функциональные возможности проекта будут одинаковыми, но некоторые из классов могут быть изменены (код изменен) в любом проекте. Теперь я хочу знать список различий между like Added (сколько новых методов/свойств/классов добавлено) и Modified (сколько методов/свойств/классов изменено). Есть ли лучший способ сделать это?

Что я уже пробовал:

Попытался сравнить файлы с помощью сравнения кода, но не смог получить различия, пытаясь использовать компилятор Roslyn, но все еще ничего не соответствуя моему требованию.

MadMyche

Были ли они в какой-то системе управления версиями?

2 Ответов

Рейтинг:
2

RickZeeland

Вы можете использовать ApiChange утилита (первоначально написанная Алоизом Краусом) для сравнения, например, dll-файлов: GitHub - arlm/apichange: форк репозитория изменений API codeplex[^]
Мы используем его в нашем конструкторе для обнаружения критических изменений в API:

"ApiChange.exe" -diff -new "API.dll" -old "APIold.dll" >> APIchanges.txt
FIND "- public" APIchanges.txt
IF ERRORLEVEL 1 EXIT /B 0
ECHO  Errors: API or Interface is broken ! See APIchanges.txt >&2
Rem Use EXIT /B 0 for build to warn only.
Rem Use EXIT /B 1 for build to fail:
EXIT /B 1