Во-первых, вот ссылка на похожую проблему:
Calling C# from native C++, without /clr or COM?.
Во-вторых, есть мнение, что если пишете не для себя, то имеет смысл писать библиотеку на С++. Так как Вы сегодня пишете библиотеку на C#, «чтобы избавиться от тон велосипедостроения», другой программист напишет плагин на Delphi, «чтобы избавиться от тон велосипедостроения», третий — на Java, четвертый — на D, и через N времени проект превратится в самый настоящий зоопарк. Поэтому, лучше придерживаться одной технологии. Если хочется кроссплатформенности и большего удобства — используйте Qt. Все это ИМХО, конечно же.