Если вы просто хотите добавить пункты меню, расширение оболочки является излишним. Вы можете зарегистрировать командную строку в реестре, которая запустит ваш exe-файл с выбранными файлами в качестве параметра. Расширения оболочки действительно необходимы, только если вы хотите изменить поведение проводника, добавить пользовательские значки или перехватить файловые операции на основе оболочки.
http://www.codeproject.com/KB/shell/SimpleContextMenu.aspx
Если расширение оболочки - это то, что вам нужно, лучше всего написать тонкую оболочку в неуправляемом коде, которая обращается к другому процессу, который является вашим .NET-приложением, через какой-то межпроцессный канал связи. Из-за всех возможных проблем с версиями не рекомендуется загружать среду выполнения .NET в процесс проводника.