In-Proc SxS открывается для расширения оболочки в управляемом коде? - PullRequest
5 голосов
/ 28 апреля 2010

Раньше это была рекомендация «Не записывать расширения оболочки в управляемом коде.»

Но с .NET Framework 4 и In-Process Side-by-Side главная причина не писать расширения оболочки в управляемом коде должна быть устранена.

С учетом сказанного у меня три вопроса.

  1. Теперь можно писать расширения оболочки в управляемом коде?
  2. Какие проблемы могут возникнуть при написании расширений оболочки в управляемом коде?
  3. Какие могут быть причины для написания расширений оболочки в неуправляемом коде?

Ответы [ 3 ]

6 голосов
/ 22 сентября 2010

Проверьте эту статью MSDN: Написание расширения оболочки Windows с помощью .NET Framework 4 (C #, VB.NET) - часть 1 http://blogs.msdn.com/b/codefx/archive/2010/09/14/writing-windows-shell-extension-with-net-framework-4-c-vb-net-part-1.aspx

3 голосов
/ 30 апреля 2010
  1. Да, все в порядке.
  2. Огромная проблема и временная проблема - большое количество интерфейса оболочки, функций, структур и т. Д., Которые вы должны объявить в управляемом коде. Вы должны быть очень осторожны, так как даже одно неверное объявление одного параметра может привести к сбоям, нарушениям доступа, утечкам памяти и тому, что может потребовать часов для отслеживания.
  3. Единственная причина в том, что вы предпочитаете или вынуждены использовать неуправляемый язык.

Извлечение EZNamespaceExtensions.Net , которое исключает # 2 выше, а также время, необходимое для разработки расширений пространства имен в целом (независимо от того, является ли оно управляемым или неуправляемым).

2 голосов
/ 29 апреля 2010

Теперь можно писать расширения оболочки в управляемом коде .NET 4. Вы все равно должны избегать написания расширений оболочки в .NET 3.5 или более ранних версиях, поскольку эти более ранние версии не поддерживают in-proc бок о бок друг с другом.

...