Используя отражение, мне нужно загрузить две разные версии одной и той же сборки. Могу ли я загрузить 2 версии в 2 разных AppDomains в одном процессе?
Мне нужно выполнить перенос данных из старой версии приложения в новую. Пожалуйста, дайте мне знать, возможно ли это, или я должен использовать 2 отдельных процесса.





Если вы делаете это во время разработки (что вы указываете, что это не так), это должно вам помочь:
http://blogs.msdn.com/abhinaba/archive/2005/11/30/498278.aspx
Если вы делаете это динамически через отражение (как здесь), это может вам помочь:
https://www.infosysblogs.com/microsoft/2007/04/loading_multiple_versions_of_s.html
InfoSysblog (вторая ссылка) сейчас не работает. Какие-либо предложения?
ОБНОВИТЬ: Я думал, что опубликую свои выводы в качестве ответа. Отражение оказалось слишком сложным с точки зрения усилий по разработке, отслеживания ошибок времени выполнения и т. д. Я помню, как когда-то давно столкнулся с похожей ситуацией, когда я столкнулся с похожей ситуацией, я использовал другой подход, используя 2 разных процесса (спасибо, Брэндон).
План таков: ничего элегантного, но более простого с точки зрения разработки и устранения неполадок. Поскольку это разовая работа, нам просто нужно заставить ее работать.
Разместите процесс удаленного взаимодействия (который я называю сервером) с новой версией приложения. Клиент удаленного взаимодействия имеет ссылки на более старую версию.
Клиент удаленного взаимодействия создает экземпляры и загружает объекты с данными, необходимыми для миграции. Преобразуйте старые объекты в обычные сериализуемые объекты и передайте в качестве параметров серверу.
Сервер удаленного взаимодействия использует общие данные для создания и загрузки новых объектов. Вызывает функции новых типов для сохранения их данных.
Да ... Первый дает мне и кучке других ребят проблемы с "уже упомянутой сборкой". Сообщение 7-летней давности, и я до сих пор не вижу решения или объяснения в поле для комментариев к этому сообщению. Народ ТАК, помогите?