Вы также можете создать оболочку C ++ для своей библиотеки C # - простую управляемую C ++ DLL, которая будет импортировать методы .NET и экспортировать их в исходном формате. Это добавляет дополнительный слой, но это может быть полезно, если библиотека C # обязательна.
Другой вариант - настроить скомпилированную сборку для экспорта функций. Компилятор C # не может этого сделать, но для его выполнения требуется небольшое изменение кода MSIL.
Взгляните на эту статью - там есть несколько ссылок о том, как все это работает, и инструмент для его автоматизации (хотя я сам не пробовал).