Как позднее связать сборку CLR 4.0 из проекта 3.5?
Название говорит само за себя о том, чего я хочу достичь. У меня есть COM-видимый компонент, встроенный в 3.5, и мои новые проекты 4.0. Код, очень похожий на приведенный ниже, - это то, что я хочу запустить из компонента 3.5.
Assembly a = Assembly.LoadFrom(@"C:\MyCLR4.exe");
Type t = a.GetType("MyCLR4Class");
object o = Activator.CreateInstance(t);
В конечном итоге я получаю сообщение об ошибке "Эта сборка построена в среде выполнения, более новой, чем текущая загруженная среда выполнения, и не может быть загружена"
Я довольно обескуражен тем, что нашел в другом месте. Все, что мне нужно, это обходной путь для достижения этой цели. Спасибо!
1 ответ
Я сдаюсь. Это просто невозможно сделать без каких-либо серьезных компромиссов и различных взломов с регистрацией GAC и COM, как указал Тони Ли (спасибо за ссылки). Я закончил восстановление всего в 4.0.
Перефразируя А. Эйнштейна: ".NET - это хорошо, но Microsoft продолжает тащить нас за нос"
:)
Спасибо всем за комментарии и помощь.