как интегрировать библиотеку .net (.dll) из более ранней версии с бинарными из более низкой версии - PullRequest
2 голосов
/ 07 декабря 2010

У меня есть внешняя библиотека .net, скомпилированная с помощью .net framework 4 (ее провайдер недавно переместился на .net 4). В настоящее время мой код работает на .net framework 3.5 Как использовать эту внешнюю библиотеку в моем приложении?Перемещение всего приложения в .net 4 требует времени и тестирования, так что, возможно, в будущем я сделаю это, но теперь, каковы возможности?

Ответы [ 2 ]

4 голосов
/ 07 декабря 2010

Возможностей нет, версия CLR, поставляемая с .NET 3.5, не может загружать сборки 4.0. Формат метаданных был изменен. У вас есть , чтобы заставить ваше приложение использовать версию .NET 4.0 CLR. Сделайте это, перекомпилировав его с VS2010, нацеливаясь на 4.0, или используя файл .config, содержащий элемент <requestedRuntime>, чтобы запросить «v4.0».

Отличная совместимость для .NET 4.0.

0 голосов
/ 09 ноября 2013

Хотя вы не можете загрузить .Net DLL напрямую, вы можете обернуть его в интерфейс COM и загрузить этот интерфейс COM в процесс .Net 3.5.

См. Использование DLL на основе .NET 4 из приложения на основе .NET 2

Для получения дополнительной справочной информации Microsoft первоначально добавила In-Process Side-by-Side в .Net 4 для лучшей поддержки сценария, когда приложение загружает надстройки через COM, а надстройки написано с различными версиями .Net. Возможность загружать DLL-библиотеки .Net 4 в процесс .Net 3.5 является лишь приятным побочным эффектом.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...