2009-04-23 2 views
4

Я работаю над SDK. Когда я выпускаю новые версии, я хотел бы представить отчет о различиях в API. Это не различия в коде. Большая часть кода, как ожидается, не будет использоваться напрямую. Публичные классы/методы - это то, что меня интересует. Кроме того, мы приняли соглашение о том, что что-либо в пространстве имен, которое включает реализацию, не должно использоваться клиентом SDK. Поэтому я ищу различия в общедоступных интерфейсах, классах и методах, которые не входят в пространство имен, которое включает реализацию. Я хочу знать, что было удалено, добавлено и изменено между двумя версиями.Я ищу инструмент как LibCheck для оценки разных версий одного и того же SDK

Я нашел инструмент от Microsoft под названием LibCheck, который находится в правильном шале. У меня есть пара проблем с LibCheck. LibCheck не распознает метод, который был изменен. Он сообщает, что метод был удален и добавлен. Он когда-то сообщает, что метод был удален и добавлен, но имя и параметры все одинаковы. Я не знаю, что он пытается сказать мне в этих случаях. Наконец, меня не интересует макет отчетов. Я хотел бы пробить пространство имен, а также сборки и класса.

Я знаю, что отчеты являются результатом преобразования XSLT, и я мог бы заставить их выглядеть по существу в любом случае. Тем не менее, другие проблемы в сочетании с общей недостаточной поддержкой инструмента от Microsoft оставляют меня в поиске альтернативы.

+0

Связанный вопрос: http://stackoverflow.com/questions/2377855/tool-for-backwards-compatibility-for-c-net-api – aponomarenko

ответ

1

Там также http://apichange.codeplex.com, который имеет диф . Называйте это так:

ApiChange -diff -old $net2dir\System.dll -new $net4dir\System.dll 

и вы должны получить отчет.

+0

Очень близко. Я посмотрю на это. Благодарю. –

+0

Не работал для меня. – schauhan

2

Такой инструмент, как NDepend является очень подходит для этой работы, а также имеет встроенные функции для дифф отчетности на «API» уровне, а не только текстовой, например:

Compare Builds and Code Diff

NDepend имеет свой собственный код язык запросов CQL, который может быть использован для написания персонализированных отчетов статического анализа:

Code Query Language

+0

См. Дополнительные объяснения относительно NDepend diff здесь http://www.ndepend.com/docs/code-diff-in-visual-studio –

Смежные вопросы