Если ваш реальный код ссылается на элементы в данной сборке, попытка подключиться к другой версии может фактически привести к ошибкам (например, если сигнатуры некоторых методов были изменены). В большинстве случаев лучшей стратегией будет создание разных сборок для разных версий DLL и установка правильной сборки на компьютере пользователя.
Существуют стратегии, которые вы можете использовать, чтобы упростить это, например, обернуть ваши вызовы в эту библиотеку в набор интерфейсов, а затем иметь две основные сборки "плагинов", которые предоставляют реализации для интерфейсов, но которые нацелены на разные библиотеки DLL, когда они реализовать их. Программное обеспечение может динамически загружать привязки реализации по конфигурации, подобно тому, как это делают популярные платформы Dependency Injection. Таким образом, если сигнатура метода изменится с одной версии на другую, вы можете просто изменить один класс, а остальная часть кода будет работать как есть.