Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Mono on VS2010?

I want to start doing a cross platform project that will run on Linux and Windows.

I went to mono's website to check things out as I heard mono allows me to run c# on Linux, but when I arrived there http://mono-project.com/Main_Page I was a bit confused.

The download page allows me to download it just fine but in order to program mono on VS2010 I need to pay for mono-tools or are there any alternatives within VS2010 ?

In short what do I need to be able to use mono with VS2010 and what are the alternatives to programming mono without VS2010 ?

like image 399
Guapo Avatar asked Jun 27 '11 18:06

Guapo


2 Answers

You can develop in Linux using MonoDevelop.

You can also develop on Windows using Visual Studio 2010 Express Edition, and target the Microsoft .NET Framework. You can then run your assemblies through the Mono Migration Analyzer (MoMA) to make sure they'll run successfully on Linux/Mono. Since Mono uses the same standard IL as the Microsoft framework, the application will run unchanged on Linux, provided you stick to supported portions of the framework.

like image 81
Reed Copsey Avatar answered Oct 21 '22 10:10

Reed Copsey


You don't need to do anything special in your .NET development in order to use mono (aside from writing compatible code). Mono is simply a free implementation of the .NET framework, which will simply run applications written for .NET, regardless of underlying OS platform (i.e. Linux).

Basically, you just need to develop your .NET application as normal, and then you can run that application on mono if you so choose. Since Mono is it's own implementation, there may be some differences, and you can use the Mono compatibility tool to ensure that the .NET code you've written is compatible with Mono's implementation of the .NET framework.

You may also want to download a VMWare image of Mono or something similar if you'd like to spin up a Linux virtual machine for testing of how your application actually runs on a Mono-enabled machine once you've started development.

like image 38
landoncz Avatar answered Oct 21 '22 09:10

landoncz