Я бы сказал, что есть три способа разработки приложений для Linux с использованием моно.
Во-первых, для разработки используется только Visual Studio, и время от времени развертывайте приложение в Linux, чтобы увидеть возможные проблемы. Я лично использую этот сценарий, потому что он прост, и когда вы не возитесь с вещами, специфичными для MS, или при этом совершенно не поддерживаете вещи, у вас не должно быть проблем (по крайней мере, пока). Недостатком является то, что вы обнаружите моно-специфические проблемы только во время выполнения на компьютере с Linux.
Второй подход - использование Visual Studio с Mono Tools . Я тестировал его, когда он был в бета-версии, и иногда это было очень удобно (вы перенесете фазу обнаружения моно-специфических проблем в вашу среду разработки, однако у вас все еще могут возникнуть некоторые проблемы на компьютере с Linux), но поскольку этот инструмент не пока не отлаживаю, лично не пользуюсь.
Третий подход - использовать только MonoDevelop в Linux (поскольку отладка теперь поддерживается только в Linux). С выпуском 2.2 эта IDE становится действительно хорошей и пригодной для разработки, однако я протестировал только консольные и базовые приложения ASP.NET MVC, поэтому не могу сказать вам, готова ли она к более крупным проектам.
Развертывание в Linux довольно просто - я только что установил proftpd на машине Linux, настроил его и скопировал туда проект с машины Windows.