Prior to .NET Framework 4, the development of in-process shell extensions using managed code is not supported at all because of the CLR limitation allowing only one .NET runtime per process. Jesse Kaplan, one of the CLR program managers, explains it in this MSDN forum thread: http://social.msdn.microsoft.com/forums/en-US/netfxbcl/thread/1428326d-7950-42b4-ad94-8e962124043e.
In .NET 4, with the ability to have multiple runtimes in process with any other runtime, writing managed shell extensions becomes possible. However, Microsoft has not fully tested all of the scenarios involved with managed shell extensions and has not determined whether it will support managed shell extensions for the long term. Therefore, Microsoft will not support managed shell extensions and recommends against writing them.. I will update this blog if it becomes officially supported in future.
We built a whole namespace extension in .net and works fine including being able to provide callbacks to a file filter driver to manage Office File Open/Save dialogs. It is possible and works great.
Hi Jialiang, I've read through all your articles regarding Windows Shell Extension. They are really great ones. I am just curious whether it is officially supported now? Does Windows Shell team has a plan to get it supported in the near future?