Raymond Chen said in 2006 and repeated in 2013:
Do not write in-process shell extensions in managed code
But I am perplex since there even is a library which is exclusively dedicated to writing shell extensions in C# (called SharpShell).
I am actually using this library in my software (for context menus and icon overlays). It is very convenient, but since reading the article above I am starting to wonder whether I should pull back from C# for shell extensions (all other parts of my software are in C#).
QUESTION: So, should managed code shell extensions be avoided at all costs?
Or are there precautions (maybe implemented inside SharpShell?) that can actually make it safe? If not 100% safe, what are the main risks?
I am a Linux/Java person so I might be unaware of Windows things that seem obvious to others.