If you are trying to achieve something simple, like adding an item with an icon that launches a .NET app, you can try this:
Take a look at the Windows registry. Under HKEY_CLASSES_ROOT
you'll find all the file extensions. If you select one of those keys you will see the standard name of the extension. Search for a node under HKEY_CLASSES_ROOT
with that name and you'll see this key structure:
CLSID
DefaultIcon
Shell
Edit
Command
Open
Command
ShellEx
Each node under Shell refers to a context menu item.
The default value for these nodes (like Edit or Open) is the text shown in the menu.
The default value for Command tells you which app to launch. Example: notepad.exe %1
(where %1 is a placeholder for the file url).
The default value for DefaultIcon is the url of the icon, if any.
Take a look at this article for an example: Add a context menu to the Windows Explorer