Click here to Skip to main content
Rate this: bad
good
Please Sign up or sign in to vote.
See more: .NET Linux Application os
Is it possible to run .NET application in linux OS
Posted 30-Sep-12 0:31am
anitroy634
Rate this: bad
good
Please Sign up or sign in to vote.

Solution 1

You should take a look at Mono[^].
There's a starters guide[^] on the website too.
I've never worked with it myself though, so I can't help you beyond this point.
Good luck Smile | :)
  Permalink  
Comments
Sergey Alexandrovich Kryukov at 30-Sep-12 11:19am
   
My 5, but I worked with Mono and provided my recommendations; please see my answer.
--SA
Naerling at 30-Sep-12 11:47am
   
Thanks :)
Rate this: bad
good
Please Sign up or sign in to vote.

Solution 3

The advice by Naerling is good, but I also worked enough with Mono: it works. Basically, you can develop your applications on Windows or some other platform, and the resulting executable file will work on any other platform under Mono without recompilation.
 
This is possible because Mono is another implementation of CLR, and because CLR and IL are based on JIT (Just-in-time) compilation. The executable code is loaded on any platform and then JIT-compiled, with usually is done on per-method basis, when a method is about to be called for the very first time.
 
Please see:
http://en.wikipedia.org/wiki/JIT_compiler[^],
http://en.wikipedia.org/wiki/Common_Intermediate_Language[^],
http://en.wikipedia.org/wiki/Common_Language_Infrastructure[^],
http://en.wikipedia.org/wiki/Common_Language_Runtime[^].
 
On Mono itself:
http://en.wikipedia.org/wiki/Mono_%28software%29[^],
http://www.mono-project.com/[^].
 
The possible problems are related, of course, to compatibility. But in this case, this problem is much easier than in other cases. First of all, everything is based on the ECMA-335 standard for CLI, which includes nearly everything, including the specification for the Basic Class Library (BCL):
http://en.wikipedia.org/wiki/Base_Class_Library[^].
 
If you use only the BCL, most likely your code will be compatible. You should also avoid using any platform specific feature and P/Invoke. But you can also successfully use a number of non-standard libraries, importantly, System.Windows.Forms and ADO.NET. Of course, you can also develop platform-specific code, but just on different platforms.
 
Please see also my past answers:
C++ GUI For Linux, looking for a place to start[^],
Programming GUI over linux[^],
Platform independency of any visual studio application[^],
I have to develop an exe file that runs on Linux + Windows[^],
how can i use mono in windows7?[^],
To create mono for winforms C#.Net[^].
 
—SA
  Permalink  
Comments
Naerling at 30-Sep-12 11:49am
   
Very good answer, my 5! Interesting to know how and why Mono works. Good links too.
On an unrelated note, it seems you've given two answers to this question, one which was unintended :)
Sergey Alexandrovich Kryukov at 30-Sep-12 11:55am
   
Thank you, Naerling.
Double answer happens around "server overworking" condition sometimes; I'll remover the redundant one; thank you for the note.
--SA
Rate this: bad
good
Please Sign up or sign in to vote.

Solution 4

The advice by Naerling is good, but I also worked enough with Mono: it works. Basically, you can develop your applications on Windows or some other platform, and the resulting executable file will work on any other platform und
  Permalink  

This content, along with any associated source code and files, is licensed under The Code Project Open License (CPOL)

  Print Answers RSS
0 DamithSL 445
1 Maciej Los 238
2 OriginalGriff 229
3 Zoltán Zörgő 190
4 BillWoodruff 120
0 OriginalGriff 7,969
1 DamithSL 6,139
2 Sergey Alexandrovich Kryukov 5,449
3 Maciej Los 5,309
4 Kornfeld Eliyahu Peter 4,539


Advertise | Privacy | Mobile
Web03 | 2.8.141223.1 | Last Updated 30 Sep 2012
Copyright © CodeProject, 1999-2014
All Rights Reserved. Terms of Service
Layout: fixed | fluid

CodeProject, 503-250 Ferrand Drive Toronto Ontario, M3C 3G8 Canada +1 416-849-8900 x 100