pirate
pirate

Reputation: 1641

How to run .net application on Linux environment?

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 ?

Upvotes: 19

Views: 48087

Answers (6)

Stuart Cardall
Stuart Cardall

Reputation: 2447

An updated answer for 2018 with the current state of the Mono Project in Linux.

mono repos exist for:

Ubuntu
Debian
Raspbian
CentOS
Fedora
Docker

The instructions suggest installing mono-complete - on Centos I also had to install mono-basic for VB.NET to work. The current level of support for VB.NET is:

default runtime: v4.0.30319

which is good enough to run a VB.NET XML client which required a 3.5 runtime:

enter image description here

Upvotes: 1

Peter
Peter

Reputation: 2263

A new answer for an old question, as technology improves. You might also consider running your app as a dotnet core application. The same code will work nativly with MAc Windows and linX download dotnet runtime for your OS and on a console type Dotnet .\yourapp.dll

Upvotes: 5

Jon Skeet
Jon Skeet

Reputation: 1499790

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.)

Upvotes: 6

RichardOD
RichardOD

Reputation: 29157

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

Upvotes: 2

Paul Weber
Paul Weber

Reputation: 6688

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.

Upvotes: 0

Andrew Hare
Andrew Hare

Reputation: 351456

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!

Upvotes: 17

Related Questions