Note that there are some explanatory texts on larger screens.

plurals
  1. PO
    primarykey
    data
    text
    <p>The company I work for targets Mono on Linux as our main deployment environment. Thus there is no "additional" work - we provide the whole stack, from hardware, through operating system (customized and trimmed) to applications. Using Open Source gives huge savings for us and our clients (and yes, we do contribute back to the OS Projects we rely on).</p> <p>The important thing is to constantly test using your actual target (sorry, Mono on Windows doesn't count). Sure, developers use Visual Studio, but the continous integration (using <a href="http://confluence.public.thoughtworks.org/display/CCNET/Welcome+to+CruiseControl.NET" rel="noreferrer">CruiseControl.Net</a>, you'll need Mono 2.4.2 to run it on Linux) is done both on Windows and Linux, testing all Mono versions we expect to work on (it got much more stable recently, but still, regressions do happen between releases). It's quite easy to run <a href="http://mono-project.com/Parallel_Mono_Environments" rel="noreferrer">parallel Mono versions</a> on one *nix system, you can even include an svn snapshot build if you prefer to catch upstream regressions early. If you don't roll out your own distribution, then remember that most Linux vendors ship Mono with custom patches - this has caused problems for us before. Also, many distributions have a lot of lag updating Mono, and this is a rapidly advancing project.</p> <p>For database layer we use mostly "plain" ADO.NET - Oracle (with <a href="http://www.devart.com/dotconnect/oracle/" rel="noreferrer">dotConnect for Oracle</a>, they support Mono) and SQLite (Mono ships with a working connector). I have also used the official <a href="http://www.mysql.com/products/connector/" rel="noreferrer">ADO.NET Driver for MySQL (Connector/NET)</a> and it, too, works well. ORM mappings are more tricky, but NHibernate is usable (keep in mind that they <em>do not</em> support Mono officially).</p> <p>As for the build engine and tests - <a href="http://nant.sourceforge.net/" rel="noreferrer">NAnt</a> and <a href="http://www.nunit.org/index.php" rel="noreferrer">NUnit</a> are well known and well tested. With most recent versions of Mono xbuild (clone of MSBuild) actually got usable, but prepare yourself for contributing quite a lot patches if you decide to use it for more complex scenarios.</p> <p>Write tests. Lots of them. Be prepared to contribute patches and bugreports, and if you use commercial components - make sure the supplier officially supports Mono.</p>
    singulars
    1. This table or related slice is empty.
    plurals
    1. This table or related slice is empty.
    1. This table or related slice is empty.
    1. This table or related slice is empty.
    1. VO
      singulars
      1. This table or related slice is empty.
    2. VO
      singulars
      1. This table or related slice is empty.
    3. VO
      singulars
      1. This table or related slice is empty.
 

Querying!

 
Guidance

SQuiL has stopped working due to an internal error.

If you are curious you may find further information in the browser console, which is accessible through the devtools (F12).

Reload