title: How cross-platform .Net framework really is?
body: <p>What is normally to be done to run a WinForms application on a Mac or Linux machine?</p>
  
  <p>a. Just copy and run (assuming they have a Framework installed).<br>
  b. Rebuild.<br>
  c. Cosmetic source code modifications.<br>
  d. Heavy source code modifications and forms redesign.  </p>
  
  <p>Assuming that the application is developed as 100% managed C# 3 code by means Visual C# Express or Visual Studio 2008 targeting .Net Framework 3.5, developed without using any 3-rd party components/libraries, without encapsulating nonmanaged code or any low-level hacks - only standard Microsoft-documented .Net Framework C# API used). Or the same conditions but C# 4 language, .Net Framework 4 and Visual Studio 2010.</p>
  
  <p>Is there somewhere a practical guide for developing Mono-ready applications while using MS .Net Framework and Visual Studio? Any guidelines, tips, specific aspect highlights, informing a developer of what he really needs to keep in mind to write an easily portable application without having to lookup every function in the Mono reference while coding in Visual Studio.</p>