Здравствуйте! Возникла тут такая нетривиальная задачка с конвертированием версий хранения данных, скажем так.
Есть две сборки: одна имеет версию v1, другая - v2. Каждая из них работает с данным в формате f1 и f2, соответственно. То есть при помощи f1 получаются данные в промежуточный результат и он записывается куда-то там через f2.
Суть в том, что пространства имен у v1 и v2 - одинаковы. Отличается только версия сборки и код некоторых методов (для работы с данными эволюционировавших форматов). В остальном все одинаково. Пытался обойти неоднозначность следующим образом: во-первых, переименовал dll-ки (чтобы подключить к проекту по ссылкам и одну, и другую). Для первой в свойствах в студии указал псевдоним alias1, для второй - alias2 (по умолчанию у всех был же global).
Далее в коде:
Код:

extern alias alias1;
extern alias alias2;
using namespace1 = alias1::ПростанствоИмен.Подпространство;
using namespace2 = alias2::ПростанствоИмен.Подпространство;
namespace1::Класс varible1 = namespace1::Класс.Метод(); //вроде прокатывает
namespace2::Класс varible2 = namespace2::Класс.Метод(); //пишет, что Неявное преобразование типа из сборки1 (та, которая alias1) недопустимо в тип из сборки2(alias2). Как?!
(ПростанствоИмен.Подпространство) и (Класс.Метод) - одинаковы в обоих случаях, просто вызываются из различных сборок
в Warning-ах пишут:
Цитата:
Не удается решить конфликт между "ПростанствоИмен.Подпространство, Version=2.0.0.0, Culture=neutral, PublicKeyToken=7148afe997f90519" и "ПростанствоИмен.Подпространство, Version=1.0.0.0, Culture=neutral, PublicKeyToken=7148afe997f90519". Произвольный выбор "ПростанствоИмен.Подпространство, Version=2.0.0.0, Culture=neutral, PublicKeyToken=7148afe997f90519".
|
В принципе, суть ошибки становится понятна - среда выбирает по умолчанию более позднюю версию, но игнорирует алиасы. Вернее, слева от присваивания игнорирует, справа - нет.
Пробовал комментить все, что касается alias1 и namespace1, все равно та же ошибка для alias2 и namespace2
Лабал MSDN на эту тему, решения не нашел. Прошу совета

Спасибо!