writing context menu items for windows explorer using C#
Don't do it. Really. Raymond Chen has a great writeup on why you shouldn't.
Now, that article is pretty old. Some things have changed since then, like .NET 4.0 supporting SxS. Previously, loading two CLR versions into the same process (like 2.0 and 1.1) would fail horribly. You can load 2.0 and 4.0 into the same process.
However there are other concerns.
- The CLR can take a noticeable amount of time to load. Users don't like that.
- Loading the entire CLR into explorer's virtual memory just to display a context menu seems like a bit much.
Instead, I would suggest writing it the old fashion, unmanaged way.