Я в основном выполняю ту же работу, что и описанную в внешний псевдоним с тем же именем файла сборки : я пишу конвертер для классов между различными версиями программного обеспечения, так что настройки XML этих классы могут быть преобразованы.
Преобразование готово и работает ("внешний псевдоним" устанавливается там, где это необходимо).
Теперь я хочу превратить мой небольшой тестовый проект в полноценную программу. Преобразование использует библиотеки DLL V22, V23 и V24, каждая с соответствующим псевдонимом, и программа должна использовать версию DLL latest (в настоящее время V24, без псевдонима, таким образом, глобального) для своей собственной операции. Проблема в том, что программа не находит никаких типов в глобальных DLL-файлах, на которые ссылаются.
Является ли Visual Studio (я использую v.2015 U3), возможно, не в состоянии различить guish между DLL, если одна и та же DLL используется с и без псевдоним?
Ссылки на проект:
основы , путь = .. \ v24 .., без псевдонима (# 1)
основы v = 22, путь = .. \ v22 .., псевдоним = V22
основы v = 23, путь = .. \ v23 .., псевдоним = V23
основы v = 24, путь = .. \ v24 .., псевдоним = V24 (# 1)
образ v = 22, путь = .. \ v22 .., псевдоним = V22
образ v = 23, путь = .. \ v23 .., псевдоним = V23
образ v = 24, путь = .. \ v24 .., псевдоним = V24
...
Я предполагаю, что отмеченные (# 1) сборки как-то сталкиваются.
Это правильно?
Любое решение или обходной путь?
Я мог бы добавить «внешний псевдоним V24» в каждый файл общей части программы, но затем мне пришлось бы изменить его на «внешний псевдоним V25», когда будет выпущена следующая версия DLL. Я бы хотел избежать этой дополнительной работы.