Я бы сказал, что, по крайней мере, будет нелегкий путь, особенно если вы имеете в виду C # в Windows. В этом случае вам понадобится что-то, что сможет декодировать общий объект и добраться до кода в нем, что-то вроде повторной реализации ABI для GNU / linux. Также должны присутствовать и использоваться любые другие библиотеки, такие как библиотека времени выполнения C и тому подобное. Это, вероятно, будет очень значительным усилием.
Что касается этого непосредственно в linux / Mono, см. Ответ: Вызов файла общих объектов UNIX и Linux .so из c # .
Вы также можете попытаться выяснить, может ли помочь то, что делает open office, http://packages.debian.org/lenny/cli-uno-bridge; но это скорее интерфейс, а не прямая связь между ними.