Как я могу проверить обратную совместимость API между сборками .net
У меня есть сборка, которая предоставляет API и используется некоторыми другими сборками. Мне нужно убедиться, что более новая версия API DLL по-прежнему совместима со старыми сборками, которые использовали более старую версию API.
Я нашел пару вопросов, которые задают то же самое, но нет ответов, которые решают мою проблему:
Инструмент для проверки совместимости публичных APIИнструмент обратной совместимости для C # /. NET APIПредлагаемые инструменты могут сравнивать только две сборки и сообщать, есть ли возможные критические изменения в API, но не в том случае, если новейший API действительно ломает старую сборку, которая его использует. Я хотел бы найти инструмент или написать тест, который сможет проверить, может ли каждый из старых dll работать с моей новой dll API.
Что касается изменений в API, более вероятно, что я буду только расширять его, но даже при том, что он все еще может сломать код в более старых сборках. Некоторые примеры таких изменений можно найти здесь:
Определенное руководство по изменениям API в .NET.NET: что касается AssemblyVersion, что определяет бинарную совместимость?Пока единственное решение, которое я вижу, - это скомпилировать исходный код более старых сборок с использованием новейшего API, но я бы хотел сделать это только со сборками и добавить их как часть моих модульных тестов. Есть ли лучший способ справиться с этим?
редактировать:
Я ищу инструмент, который сможет автоматизировать процесс проверки обратной совместимости между сборками .net. (командная строка или с некоторыми API тоже)