The recommendation used to be “Do not write in-process shell extensions in managed code.”
But with .NET Framework 4 and In-Process Side-by-Side the main reason not to write shell extensions in managed code should be resolved.
With that said, I have three questions.
- Is it now okay to write shell extensions in managed code?
- Which problems, if any might there be with writing shell extensions in managed code?
- What reasons might there be to write shell extensions in unmanaged code?
It is now OK to write shell extensions in .NET 4 managed code. You should still avoid writing shell extensions in .NET 3.5 or earlier, because these earlier versions don’t support in-proc side-by-side with each other.