porting to Linux

J

Julie

Hi, I'm trying to figure out what would be involved in porting my
C# .NET application from Windows to Linux. It uses Windows Forms, so
basically would I have to change all of the Windows Forms code to some
sort of Linux GUI development code?

I found an IDE called MonoDevelop that allows to you develop/run .NET
applications on Linux. Are there other IDE options or just this?

Thanks,
Julie
 
A

Arne Vajhøj

Hi, I'm trying to figure out what would be involved in porting my
C# .NET application from Windows to Linux. It uses Windows Forms, so
basically would I have to change all of the Windows Forms code to some
sort of Linux GUI development code?

I found an IDE called MonoDevelop that allows to you develop/run .NET
applications on Linux. Are there other IDE options or just this?

The IDE does not matter much.

You need a C# compiler and a runtime.

Mono is the best choice for that.

There are other but Portable.NET is not good.

Then you need something to write the code in, but you don't have
to use MonoDevelop. You can pick Eclipse with Emonic plugin. Or you
can use your favorite general purpose editor on Linux: vim, Emacs,
NEdit, JEdit or whatever.

Mono somewhat support Win Forms so you can give it a try.

If it does not work then switch to GTK# - it works on both
Linux and Windows.

Arne
 
J

Julie

The IDE does not matter much.

You need a C# compiler and a runtime.

Mono is the best choice for that.

There are other but Portable.NET is not good.

Then you need something to write the code in, but you don't have
to use MonoDevelop. You can pick Eclipse with Emonic plugin. Or you
can use your favorite general purpose editor on Linux: vim, Emacs,
NEdit, JEdit or whatever.

Mono somewhat support Win Forms so you can give it a try.

If it does not work then switch to GTK# - it works on both
Linux and Windows.

Arne

Thanks for the response!
Do you have a preference between MonoDevelop, Eclipse, and GTK#? Are
all Open source?
I guess I need a better idea about what from WindowsForms Mono
actually supports, if anybody knows.

Julie
 
J

Julie

The IDE does not matter much.

You need a C# compiler and a runtime.

Mono is the best choice for that.

There are other but Portable.NET is not good.

Then you need something to write the code in, but you don't have
to use MonoDevelop. You can pick Eclipse with Emonic plugin. Or you
can use your favorite general purpose editor on Linux: vim, Emacs,
NEdit, JEdit or whatever.

Mono somewhat support Win Forms so you can give it a try.

If it does not work then switch to GTK# - it works on both
Linux and Windows.

Arne

Thanks for the response!
Do you have a preference between MonoDevelop and Eclipse? Are
both Open source? How do they compare to the functionality offered by
Visual Studio .NET?
I guess I need a better idea about what from WindowsForms Mono
actually supports, if anybody knows.
 
T

Tom Shelton

Julie explained on 7/19/2010 :
Thanks for the response!
Do you have a preference between MonoDevelop, Eclipse, and GTK#? Are
all Open source?
I guess I need a better idea about what from WindowsForms Mono
actually supports, if anybody knows.

Julie

I personally develop mono apps in MonoDevelop and vim. They now have a
mono tools for Visual Studio - but I haven't tried it. But, it allows
you to run and debug with the mono runtime and to try your stuff in a
linux vm.

Winforms support is fairly good - for the standard core stuff, though
it is not 100% (I believe it's around 95% support for winforms 2.0).

If your using standard controls, no 3rd party or COM controls and
aren't doing any subclassing type stuff - then there is a farily good
chance your UI will work. You'll just have to try and compile and see.

You might want to start here:
http://www.mono-project.com/Guide:_Porting_Winforms_Applications

MoMA would definatly be a good thing for you - it will help you find
some of the issues you may incounter early. For instance, use of
P/Invoke, COM, unsupported libraries, etc.

Anyway, HTH
 
J

Julie

Julie explained on 7/19/2010 :








I personally develop mono apps in MonoDevelop and vim.  They now have a
mono tools for Visual Studio - but I haven't tried it.  But, it allows
you to run and debug with the mono runtime and to try your stuff in a
linux vm.

Winforms support is fairly good - for the standard core stuff, though
it is not 100% (I believe it's around 95% support for winforms 2.0).

If your using standard controls, no 3rd party or COM controls and
aren't doing any subclassing type stuff - then there is a farily good
chance your UI will work.  You'll just have to try and compile and see.

You might want to start here:http://www.mono-project.com/Guide:_Porting_Winforms_Applications

MoMA would definatly be a good thing for you - it will help you find
some of the issues you may incounter early.  For instance, use of
P/Invoke, COM, unsupported libraries, etc.

Anyway, HTH

Wow, very helpful! Thank you! I will definitely look into trying MoMA.
 
A

Arne Vajhøj

Thanks for the response!
Do you have a preference between MonoDevelop, Eclipse, and GTK#? Are
all Open source?

All 3 are open source.

I have never tried MonoDevelop. Its reputation is not good.

Eclipse with Emonic is usuable but definitely not great.
I guess I need a better idea about what from WindowsForms Mono
actually supports, if anybody knows.

You can check here:
http://go-mono.com/status/

But it is probably quicker to build something and see how it runs
on Linux !

Arne
 
A

Arne Vajhøj

Do you have a preference between MonoDevelop and Eclipse?

I have only tried Eclipse.

Based on what I have heard about MonoDevelop, then I would go
for Eclipse!

But I suggest that you try both and make your own conclusion.
Are
both Open source?
Yes.

How do they compare to the functionality offered by
Visual Studio .NET?

VS is way better.
I guess I need a better idea about what from WindowsForms Mono
actually supports, if anybody knows.

Try it !

Arne
 
T

Tom Shelton

After serious thinking Arne Vajhøj wrote :
I have only tried Eclipse.

Based on what I have heard about MonoDevelop, then I would go
for Eclipse!

The latest versions aren't too bad :) It used to be very unstable. To
be honest, I actually code more in vim when working with mono then
monodevelop.
But I suggest that you try both and make your own conclusion.


VS is way better.

They have a new mono plugin for vs. Probably should try it out
sometime :)
 

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Top