Sarp Erdag’s Blog

19 Oct, 2008

Developing .NET applications on Linux?

Posted by: Sarp Erdag In: Software Development

I have been using Ubuntu 8.04 for about a month now, together with my old and faithful Windows XP. After some crazy virus/malware infection on XP, I was even more hooked to Ubuntu. Although my lack of experience on Linux systems slows me down, I have been able to do pretty much evertyhing I needed on Ubuntu.

Except…

Continuing my old projects that are over Microsoft.NET platform. It is impossible to install a .NET framework on Linux and naturally Microsoft has no support in this way. There is one way to use Wine and install the framework but this I did not appreciate much, since Wine does not support running the latest version of Visual Studio .NET 2008.

Instead, today I have tried diving into the infamous Mono Project on Ubuntu.

and here are my impressions about the issue:

  • Sponsored by Novell, Mono seems to be having quite a lot attention and support from its community and it is being grown rapidly.
  • With the Mono 2.0 release, you can develop LINQ powered apps. (That is the LINQ from .NET Framework 3.0, not 3.5!)
  • The quick and easy to use webserver called XSP 2.0 runs aspx pages perfectly.
  • They also have their Visual Studio like substitution for an IDE. Called Mono-Develop which has a few annoying bugs and incapabilities but it is fine.
  • You can use Mono 2.0 and MonoDevelop to fully develop ASP.NET and C# applications but you have to follow the technology from 1 year behind. Whatever new addition Microsoft has on the .NET framework are not supported by Mono yet.
  • I was not able to run my web projects on Mono that were coded using .NET 3.5 over Windows. Checked out the roadmap and seen that full .NET 3.5 support will be given on around december. Waiting for Mono guys to follow and copy MS’s work and embed it into their system can be annoying in this case.

I will be continuing on discovering Mono and following its future releases to be able completely switch to Ubuntu. Having two OSs is like having two computers and your work scattered all over the place…

Share and Enjoy:
  • Digg
  • del.icio.us
  • Facebook
  • Mixx
  • Google
  • StumbleUpon
  • Technorati
  • TwitThis

2 Responses to "Developing .NET applications on Linux?"

1 | Michael Hutchinson

October 19th, 2008 at 8:30 am

Avatar

That’s for taking a look at Mono. I have a few clarifications:

LINQ does not exist in .NET 3.0, only 3.5. .NET 3.0 is simply a few extra libraries for 2.0, and yes, most .NET 3.0 features are not implemented in Mono. You may be thinking of C# 3, which shipped with .NET 3.5. MS’s version numbering is a confusing mess.

Most of the features MS added in .NET 3.5 features are implemented in Mono with the notable exception of LINQ-to-SQL, which is currently in progress.

Mono has partially supported C# 3 for over a year, and it’s complete in Mono 2.0. Mono generally adds the most exciting features *very* quickly but yes, it can take a little while to finish off all the corner cases due to limited resources.

On Ubuntu, unfortunately, you don’t easily see the latest Mono or MonoDevelop releases for a while because Ubuntu lags a way behind with their Mono packages. However, Eric Butler has a Mono 2.0 PPA at http://eric.extremeboredom.net/2008/10/15/296

With regards to MonoDevelop, we have a very exciting release in development :-)

2 | Sarp Erdag

October 20th, 2008 at 12:35 pm

Avatar

Thanks for your explanations and clarifications Michael. There was a confusion about the references I was adding to my project. I was trying to build & run a previous .net 3.5 project I had built on WinXP using VSNET 2k8 and it was using the Linq libraries that are under System.Data.Linq, however, to get MonoDevelop recognize the Linq code, I had to switch to System.Data & System.Core only.

It takes lots of time to migrate a partially developed project into MonoDevelop :(

Comment Form

About

Currently, I am a Computer Engineering Masters student at Politecnico di Milano, in Como campus, Italy. Here, I present you my personal blog, telling stories and sharing the things I like, anytime, anywhere.

Sarp Erdag's Facebook profile