В настоящее время я работаю над сборщиком данных для проекта.То, как это работает, в основном вызывает другую программу, которая собирает данные, и эта программа возвращает структуру данных, содержащую набор информации об очереди.Затем комбайн сериализует данные.Программа, которая на самом деле собирает данные, обслуживается другой командой, и недавно они выполнили обновление и решили реструктурировать свой код.Метод, который я вызываю, все еще находится в том же месте, однако структура данных, которую я получаю, была перенесена в другую сборку (ее код остался прежним).Самое интересное в том, что у нас есть обе версии этого продукта прямо на месте, поэтому в зависимости от того, какая версия у клиента, нужная мне структура данных может находиться в одной из двух разных сборок.Мой босс хочет по возможности использовать только одну версию харвестерной программы.
Итак, мой вопрос таков: используя C # и .NET 3.5, есть ли способ выбрать, какую сборку использовать во время выполнения?Я думаю, что мог бы использовать отражения, но я хотел бы знать, могу ли я как-нибудь нормально написать код во время компиляции, а затем разрешить зависимость во время выполнения в зависимости от версии другой программы.