MonoDevelop должен смочь помочь Вам разобраться со стороной разработки:
MonoDevelop является IDE, прежде всего, разработанный для C# и других языков.NET. MonoDevelop позволяет разработчикам быстро записать рабочий стол и веб-приложения ASP.NET на Linux, Windows и MAC OSX. MonoDevelop помогает разработчикам портировать приложения.NET, созданные с Visual Studio к Linux и поддержать единственную кодовую базу для всех платформ.
(акцент является моим),
Cygwin стремится максимизировать POSIX и исходную совместимость Linux, тогда как MinGW обеспечивает набор инструментальных средств GNU для создания собственного Приложения Windows. Надо надеяться, это означает, что Ваше приложение Linux требует, чтобы никакие или только незначительные изменения не основывались на Cygwin, тогда как портирование кода с помощью API POSIX/Linux-specific для собственного Windows может быть серьезным усилием. Однако, если можно заставить его работать с MinGW, который сохраняет Вас зависимость от DLL Cygwin.
Создание со средой кросс-компиляции на Linux имеет тенденцию быть быстрее, но также и более трудным, особенно относительно библиотек, от которых могут зависеть приложения. И очевидно необходимо будет протестировать в Windows так или иначе.
На самом деле можно работать без обоих.
Windows (из Windows 7) утверждает, что был полностью совместимым POSIX. К сожалению, как много других важных функций, это только доступно для Предприятия и Окончательных выпусков.
Для более ранних версий Окна существует Windows Services для UNIX.