Как использовать C # 4.0 Dll в C # 2.0 dll? - PullRequest
0 голосов
/ 09 декабря 2010

Программа плагина может быть закодирована с C # 2.0 или 3.0, а не 4.0, поэтому я хочу вызвать dll с кодом C # 4.0 в dll плагина.

Я установил обе платформы.

Как я могу это сделать? Спасибо.

Я попробовал ссылку и COM, оба не удаются.

Ответы [ 2 ]

0 голосов
/ 09 декабря 2010

CLR не совместим с прямым.
Посмотрите на ссылку
DLL может предоставлять интерфейс, который использует функции 3.0 / 3.5 / 4.0, поэтому вызывающему пользователю необходимо знать функции, чтобы использовать их.
Единственным способом было бы обернуть его, используя небезопасный код или реальную регистрацию COM в качестве интерфейса между dll-посредником и фактическим dll 4.0, но я согласен, что предоставление чистых веб-сервисов через WCF является лучшим решением, если вы хотите, чтобы вызывающие абоненты 2.0 4.0 dll.
Также обратите внимание, что вам не нужно устанавливать CLR 2.0 отдельно - он будет установлен неявно при установке 4.0.

0 голосов
/ 09 декабря 2010

Возможно, вам нужно создать новый AppDomain и загрузить в него свой плагин (обратите внимание, что вам нужно подписаться на события разрешения ссылок). Другой способ - это другой процесс и межпроцессное взаимодействие.

...