кого-нибудь из вас хоть раз занимал вопрос, как нужно писать прогу на .NET, чтобы она потом запускалась под моно?
Меня занимал
Запустить напрямую собранную под виндой сборку (типа mono foo.exe) не получится. Если поставлять в исходниках -- вроде не должно быть непреодолимых проблем (тем более поддержка WinForms вроде с каждым релизом улучшается, да и WCF/WWF и даже WPF и Silverlight вроде как собираются поддерживать), только надо искать общий знаменатель двух CLR/фреймворков. Основная проблема моно -- это то, что они лепят собственную реализацию всего вместо естественного процесса портирования. Я пересобирал одну свою программку, на которой учился C# и .нет, под моно -- ей всего хватило, и она даже запускалась, но из-за необычайно кривой реализации стандартного datagrid-а (он и в винде кривой, а в моно ему ещё хуже) работать с ней не получалось
Да и виндовые виджеты в linuxе выглядят жутко. Из чего я сделал вывод, что для гуя правильней будет использовать GTK# в обоих осях, ибо он кроссплатформенен от природы. Ну GUI -- это имхо главная проблема при разработке кроссплатформенных .net/mono приложений, с остальным должны быть проще.