Может ли Internet Explorer запускать надстройки для разных версий .NET Framework? - PullRequest
1 голос
/ 19 мая 2011

Если я создаю надстройку IE поверх .NET Framework 4.0, можно ли ее использовать одновременно с другими надстройками, ориентированными на разные версии .NET Framework (т.е. 2.0)?

Кроме того, я должен заботиться о различных версиях IE на эту тему?

Большое спасибо.

1 Ответ

1 голос
/ 19 мая 2011

Я полагаю, что процесс iexplorer.exe будет автоматически запускать все размещенные сборки .NET через новейшую версию среды CLR / .NET на клиентском ПК, независимо от того, какая версия .NET была выбрана при компиляции сборок.

** РЕДАКТИРОВАТЬ **

Похоже, это было до 4.0.

Надстройки к Internet Explorer называются вспомогательными объектами браузера, которые также часто документируются как BHO. Это COM-типы, поэтому, если мы собираемся сделать это управляемым, мы будем делать COM-взаимодействие. Я делал это раньше, но в основном из-за уровня возни или принятия решения вернуться к родному. .NET Framework принесла мне еще одно преимущество - WPF. Моему BHO требуется пользовательский интерфейс, и делать это изначально не так просто и не элегантно, как с использованием нативных библиотек. В конечном итоге я решил использовать .NET Framework 4.0 и могу рекомендовать только .NET Framework 4.

Предыдущие версии CLR имеют серьезный недостаток при отображении типов в COM: они всегда использовали последнюю версию CLR на машине. Если вы написали BHO в .NET Framework 1.1, и был установлен 2.0, он загрузит сборку с использованием .NET Framework 2.0. Это может привести к неожиданному поведению. Начиная с .NET Framework 4, типы COM Visible гарантированно будут работать с CLR, с которым они были скомпилированы.

См. здесь .

...