tags:

views:

47

answers:

2

What are the linux developper tools to do the things i do with .NET in my windows environnement :

I would like to port my client server application that runs under winform/nhibernate/sql server.

Language c#
Database SQL server
ORM Nhibernate
Source control SVN / Tortoise
Unit testing Nunit
Continuous integration Cruise Control

Should i go java and eclipse ?
Python and ???
Ruby and ???

Is there some IDE that allow me to manage all these processes under linux ?

+2  A: 

Well, if you already have some .NET background, I would suggest Mono (with its IDE MonoDevelop).

Your port of your WinForms/NHIBERNATE/SQLSERVER solutions should be easier.

Here is a document that should get you started with porting WinForms apps to Mono. NHibernate runs well on Mono. And you can keep your SQLServer, unless you need to change that too, in which case, you can try Oracle Express, MySQL or PostgreSQL.

SVN runs very well on Linux.

So does NUnit (in Mono).

Going to a different language is a possibility. But if you have a lot of experience on .NET, you might want to take advantage of that.

Pablo Santa Cruz
Do you think it is possible to reuse the .net code and recompile it under mono, as i don t use any external library, apart nhibernate and nunit ?
alfredo dobrekk
Of course it's possible. With mono, you probably won't even need to recompile it.
Pablo Santa Cruz
+1  A: 

Try MonoDevelop or SharpDevelop.

MonoDevelop is an IDE that integrates with Mono (.NET implementation for *nix). I've heard of NHibernate running under mono, but haven't tried it. I'd imagine this would have the smallest learning curve, since you'd be able to keep a majority of your current code.

edit: modified because MonoDevelop is the linux fork of SharpDevelop, which is only for windows.

Jim Schubert
I dont think sharpdevelop runs under linux and i don t think i can use the software compiled by sharp develop under linux.Can i use .net assemblies directly under linux once i have installed mono ?
alfredo dobrekk
You're right. I use MonoDevelop mostly for the interactive C# shell (gsharp). MonoDevelop is the linux version of SharpDevelop. You *can* use .NET assemblies directly as long as they're coded properly. The biggest sticking point is hardcoding path separators in strings instead of using `Path.PathSeparator`. Again, there will most likely be code changes and some compromises, but overall it should be a lower learning-curve (learning .NET differences between windows and linux vs new languages)
Jim Schubert