tags:

views:

593

answers:

6

Is it possible to run a .net application on Linux environment? If yes then how? Will all the components of .net framework work properly on Linux ?

+4  A: 

While there are alternatives (I believe), Mono is probably what you want.

It doesn't support everything that .NET supports, but there's a compatibility tool which will check for you. (I wouldn't blindly trust the results of the compatibility tool to be 100% accurate, as there will always be a few sneaky unknown incompatibilities, but it's a very good start.)

Jon Skeet
+1 do not trust Mono (been there, done that)
dr. evil
What is "do not trust" supposed to mean? Mono is not a panacea, but it's clearly useful in many cases.
Matthew Flaschen
@Matthew: Your comment was probably more to fm than my answer, but I meant I wouldn't trust the results of MoMA 100%. Will edit answer to make that clearer.
Jon Skeet
What I meant was it's bound to fail in the first run even though you think you did everything right. Personally I've been through the pain of porting a .NET app to Mono and it's just not straight forward and there are stuff just not supported or doesn't work as expected. I'm not even gonna talk about the compiler (if you compile it under mono, it's even worse).
dr. evil
+6  A: 

Please see Running .Net applications on Linux with Mono:

Imagine the fate of your company rests on your completing your new Linux project on time. You have a crack team of first-class developers, but they're all .Net programmers. What are you going to do? Admit that Windows is better that Linux? Cry? Resign? No, you're going to install Mono and save the world!

Andrew Hare
A: 

For running simple .net Applications mono is the tool of your choice! I used it for many applications and it worked without major glitches. I would not reccommend starting to develop on Mono though. Some people in my Class tried to do C# on Linux with mono, and failed terribly.

When you do simple stuff it works good, but when you go to the more advanced stuff like using NHibernate or something like that, it may fail you. And you will miss out the best thing about .net - the Development Environment and that everything works together because everything is provided by Microsoft.

Paul Weber
+1  A: 

There is also MainSoft that lets you run on J2EE environment on Linux. It basically compiles the .NET source into Java bytecode.

RichardOD
+1  A: 

http://en.wikipedia.org/wiki/DotGNU

Trickster
A: 

mono tool really sucks

Rohit