<p>I started trying to play with Mono, mostly for fun at the moment.  I first tried to use the Visual Studio plugin that will convert a csproj into a makefile, but there seemed to be no version available for Visual Studio 2005. I also read about the MonoDevelop IDE, which sounded nice. Unfortunately, there's no pre-fab Windows package for it. I tried to follow some instructions to build it by combining dependencies from other semi-related installs. It didn't work, but that's probably because I'm a Windows-oriented guy and can barely spell "makefile".</p>

<p>So, my question is this: What's the lowest-energy way to get up and running to try some Mono-based development on Windows?</p>

[{'answer_id': 2880, 'author': 'Luke', 'author_id': 327, 'author_profile': 'https://Stackoverflow.com/users/327', 'pm_score': 3, 'selected': False, 'text': '<p>@Chris I have found that Visual Studio is the best IDE for developing against .NET -- I think the best way to target Mono is really just to develop and build in Visual Studio under Windows then just run those binaries directly on Linux (or whatever other Mono platform you are using).  There are free versions of Visual Studio if licensing is a concern.  If you are developing under Linux, the best software is probably Eclipse with a Mono plugin (see <a href="http://www.gotmono.com/docs/ide/eclipse.html" rel="nofollow noreferrer" title="The Mono Handbook - Eclipse">The Mono Handbook - Eclipse</a> for installation instructions) but keep in mind it doesn\'t have near the amount of features or language integration Visual Studio has.</p>\n\n<p>@modesty Mono is a 3rd party open source implementation of the .NET framework which allows you to run .NET applications on platforms other than Windows.</p>\n'}, {'answer_id': 2884, 'author': 'UberAlex', 'author_id': 170, 'author_profile': 'https://Stackoverflow.com/users/170', 'pm_score': 2, 'selected': False, 'text': '<p>My first instinct would be the rather unhelpful "Install Linux". You are somewhat <a href="http://tirania.org/blog/archive/2006/Jan-11.html" rel="nofollow noreferrer">swimming against the current</a> to try and develop in mono under windows. Installing GTK and everything is a bit of a bother in my experience.</p>\n\n<p>If you do feel like using linux, then you could <a href="http://www.ubuntu.com/getubuntu/download" rel="nofollow noreferrer">Try Ubuntu</a></p>\n\n<p>Otherwise:</p>\n\n<p>There\'s some information here: <a href="http://www.mono-project.com/Mono:Windows" rel="nofollow noreferrer"><a href="http://www.mono-project.com/Mono:Windows" rel="nofollow noreferrer">http://www.mono-project.com/Mono:Windows</a></a> and it seems the <a href="http://www.cygwin.com" rel="nofollow noreferrer">cygwin</a> toolchain might be your best bet. I don\'t think you\'re going to be able to avoid makefiles, sadly. I found a slightly more explicit tutorial from <a href="http://www.ondotnet.com/pub/a/dotnet/2005/02/07/monowindows.html" rel="nofollow noreferrer">O\'Reilly</a>.</p>\n\n<p>@modesty: <blockquote>Mono provides the necessary software to develop and run .NET client and server applications on Linux, Solaris, Mac OS X, Windows, and Unix. Sponsored by Novell (<a href="http://www.novell.com" rel="nofollow noreferrer">http://www.novell.com</a>), the Mono open source project has an active and enthusiastic contributing community and is positioned to become the leading choice for development of Linux applications.</blockquote> -- From the Mono site.</p>\n'}, {'answer_id': 2940, 'author': 'Chris Farmer', 'author_id': 404, 'author_profile': 'https://Stackoverflow.com/users/404', 'pm_score': 1, 'selected': False, 'text': '<p>I liked the idea of trying to use MonoDevelop mostly just to make sure my stuff would work against the Mono runtimes.  I guess it would also be possible to get crazy with msbuild and write some custom targets that tried to build against Mono, but that\'s basically emulating the now-defunct plug-in\'s functionality which I assume was non-trivial to build.  I do have minor experience with cygwin, and I am happy typing "configure" and "make" all day long, but when a problem occurs in that process, I\'m virtually screwed.  I\'ll probably try to play with all this again, but if it takes me more than a couple hours to come up with a way to build comfortably against the Mono runtimes, I\'ll probably just bail.</p>\n\n<p>I will try the Eclipse idea. I use that for Java, so I might be able to get the c# stuff to work.  We shall see...</p>\n'}, {'answer_id': 2944, 'author': 'Dillie-O', 'author_id': 71, 'author_profile': 'https://Stackoverflow.com/users/71', 'pm_score': 5, 'selected': True, 'text': '<p>I\'d recommend getting VMWare Player and using the free Mono development platform image that is provided on the website.</p>\n\n<p><a href="http://www.go-mono.com/mono-downloads/download.html" rel="nofollow noreferrer">Download Mono</a></p>\n\n<p>Setup time for this will be minimal, and it will also allow you to get your code working in .NET and then focus on porting issues without a massive hassle of switching machines and the like. the VMWare Player tools will allow you to simply drag and drop the files over to copy them.</p>\n\n<p>I\'m looking to take a couple of my .NET apps and make them Mono compliant, and this is the path I\'m going to take here shortly.</p>\n'}, {'answer_id': 5994, 'author': 'denis phillips', 'author_id': 748, 'author_profile': 'https://Stackoverflow.com/users/748', 'pm_score': 3, 'selected': False, 'text': '<p>One of the best things you can do if developing with Visual Studio for Mono is to get MoMA <a href="http://www.mono-project.com/MoMA" rel="nofollow noreferrer">http://www.mono-project.com/MoMA</a>. This will inspect any number of assemblies that you build and generate a report showing potential Mono problems (e.g., methods not implemented in the mono library). It can be run from a GUI or the command line for use in automated builds.</p>\n'}, {'answer_id': 31976, 'author': 'skolima', 'author_id': 3205, 'author_profile': 'https://Stackoverflow.com/users/3205', 'pm_score': 2, 'selected': False, 'text': '<p>Eclipse plugin for Mono is dead. On Linux use <a href="http://www.monodevelop.com/Main_Page" rel="nofollow noreferrer">MonoDevelop</a> or <a href="http://www.omnicore.com/en/xdevelop.htm" rel="nofollow noreferrer">X-Develop</a> if you like good commercial support (although MonoDevelop is closing on them fast feature-wise). On Windows <a href="http://sharpdevelop.net/OpenSource/SD/" rel="nofollow noreferrer">SharpDevelop</a> has custom MSBuild targets for compiling the code against Mono.</p>\n\n<p>As Mono and MonoDevelop are changing fast, be sure to use the latest released versions, even if they are not marked as stable yet (e.g. versions shipped with stock Ubuntu are terribly outdated).</p>\n\n<p>The VMWare image is a great way to start testing Windows-developed code on Linux. Don\'t touch cygwin unless you are already very conformable with it.</p>\n'}, {'answer_id': 49710, 'author': 'Kris Erickson', 'author_id': 3798, 'author_profile': 'https://Stackoverflow.com/users/3798', 'pm_score': 2, 'selected': False, 'text': '<p>Miguel had a post about debugging Mono running on linux with remote debugging on Visual Studio.  This may be something you want to look into...  <a href="http://tirania.org/blog/archive/2008/Sep-04.html" rel="nofollow noreferrer">Using Visual Studio to debug Mono</a>.  There is also a new project called <a href="http://groups.google.com/group/mono-soc-2008/web/installing-cloverleaf?hl=en" rel="nofollow noreferrer">CloverLeaf</a> whose goal is enabling debugging Mono on Windows in Visual Studio.</p>\n'}, {'answer_id': 64993, 'author': 'apenwarr', 'author_id': 42219, 'author_profile': 'https://Stackoverflow.com/users/42219', 'pm_score': 2, 'selected': False, 'text': '<p>There\'s just no reason to <em>build</em> your app using Mono; the whole point of the .Net CLR is that the compiled output is cross-platform.</p>\n\n<p>So you can simply build it using your favourite IDE (and if you like IDEs, Microsoft\'s is the best one to use) and then <em>test</em> it on Mono.  Even if you get Mono working on Windows, it wouldn\'t be a very good test of your app\'s portability: what if your app does silly things like assuming filenames have backslashes in them, or that there\'s something special about a folder called Program Files?  The best way to do portability testing is to actually test your app on the target platform.</p>\n\n<p>And that\'s pretty easy to do with a Linux VMware player like the one at <a href="http://www.go-mono.com/mono-downloads/download.html" rel="nofollow noreferrer">http://www.go-mono.com/mono-downloads/download.html</a>.</p>\n'}, {'answer_id': 1212383, 'author': 'Dan Rosenstark', 'author_id': 8047, 'author_profile': 'https://Stackoverflow.com/users/8047', 'pm_score': 2, 'selected': False, 'text': '<p>Personally, I\'m just compiling in Visual Studio 2008 as if it were for .Net 2.0 and then running in Mono (VS2008 on Windows in a VirtualBox, Mono on OSX). All the problems come up at runtime, anyway, so the system works perfectly.</p>\n\n<p>I just found this <a href="http://chriscyvas.com/2009/02/16/getting-mono-and-visual-studio-to-play-nice-together/" rel="nofollow noreferrer">very new link</a>, which is amazing and shows you how to set up Visual Studio 2008 for Mono.</p>\n\n<p>At the same time, setting up <a href="http://www.go-mono.com/mono-downloads/download.html" rel="nofollow noreferrer">Mono on OpenSuse or Ubuntu inside a VirtualBox</a> (Sun\'s product) is easy, painless, and doesn\'t force you to abandon whatever platform you normally live in. </p>\n\n<p>This is not relevant to your question, but I might note that I just got into Mono and I\'m amazed at how much of .Net is implemented, including much of the Winforms stuff.</p>\n'}, {'answer_id': 1868261, 'author': 'Kris Erickson', 'author_id': 3798, 'author_profile': 'https://Stackoverflow.com/users/3798', 'pm_score': 4, 'selected': False, 'text': '<p>A year later and the answer to this has change greatly.  You can now use <a href="http://monodevelop.com/Download" rel="noreferrer">MonoDevelop</a> on Windows, or if you are more comfortable in Visual Studio you can use the <a href="http://go-mono.com/monotools" rel="noreferrer">Visual Studio Tools</a> to write everything and then debug on in VM to make sure it is working on Linux.</p>\n'}]
['https://Stackoverflow.com/questions/2786', 'https://Stackoverflow.com', 'https://Stackoverflow.com/users/404/']