[MonoDevelop] Why does MonoDevelop require .Net 4 on Windows?

Rod rodney.foley at lumension.com
Fri Apr 29 02:20:02 EDT 2011


Mike Krüger wrote:
> 
>> I my group is in the middle of a research project for review mono for
>> viability for porting our C, Java (on Linux and Unix) and C, C# products
>> (on
>> Windows) to Mono.  This means that Mono is important on Windows that we
>> need
>> to be able to run successfully in Mono on a Windows system, as well as on
>> all our supported Linux and UNIX platforms.
> 
> It's a very uncommon use case we never considered - because .NET and 
> mono are compatible. 
> 

I don't think it is that uncommon, and .Net and Mono are not 100% compatible
bi-directional.  It seems that anything written in pure Mono (C#) will run
in .Net 3.5/4.0, but not everything written in pure .Net 3.5/4.0 (C#) will
run in Mono. We are find that there are many things that break in Mono that
just work in Windows, and they are not anything Windows specific that
wouldn't be implemented on other platforms. We are reporting bugs for some
of these as we find them and finding work arounds where we can as well.


Mike Krüger wrote:
> 
> i suggest that the developer machines should just 
> have a .NET4 + mono installed and that monodevelop targets the installed 
> mono framework (as lluis recommended too). I don't see the drawback here.
> You're right that this way (mono on windows) could be supported by the 
> installer (it's nothing more) - when you've set up a mono only system 
> xcopy deployment of monodevelop should run on that system with mono. 
> Maybe that' s a way for you?
> 

Our client supports many many flavors of Windows from Windows 2000, XP,
2003, Vista, Windows 7, 2008, 2008 R2, Embedded, Core, etc. All of that is
written in Microsoft C/C++ so that our mostly common code base their.  Then
we have clients that support all enterprise flavors of Linux, and a few free
distros, as well as AIX, Solaris, and HPUX, and Mac OS X.  All of these are
written in Java and Shell Scripts.

Then there is our server, this is written in .Net 3.5 C# against SQL Server. 

What we would love to be able to do is get to a single code base for the
clients using C# with just a little C for kernel drivers portions. This
would also allow about 40% common code sharing between server and client. 

Our server on windows can always run in Microsoft .Net no issues, and we
want to be able to allow our customers to use Linux to run the non DB
portion of our server as well under mono.  

However we have tight restrictions in many of our client environments on the
size of our client that will be distributed and many of the clients also
have IT policies that prevent adding .Net to Windows if it doesn't come with
it. So that limits .Net to 3.5 on Vista and higher.  So that is why we
couldn't use .Net on windows.

Now comes along Mono 2.10 and eventually 3.0, that has many of the features
we need to make it useable, and performance close enough to .Net that makes
it worth it to have C# and common code. Plus  we can bundle/embed into our
client for distribution a slimmed down version of Mono that keeps us within
the size restrictions and the IT Policy of "Installing" additional items
like .Net.  While there are ways to bundle .Net we cannot modify it in any
way to reduce its size, and the new Client profile doesn't have all the
features we need.

I understand that Mono group in Novell is set apart for the enterprise
groups that deal with SLED/SLES, Zen, etc. We are patterns with other groups
with in Novell and they have many of the same issues and concerns we have
with our customers with theirs. So what I am bring up and trying to help
bring to light with the Mono group are serious Enterprise Class issues that
mid-size to large size development shops have to deal with.

These are things that the Mono group needs to have people in it to help
consider Enterprise issues, and to talk with the groups in Novell (and
Attachmate) to find out what their customers want and why.


Mike Krüger wrote:
> 
> btw. is devleoping on linux an option ? (MonoDevelop runs best on linux 
> - that's because gtk is native there)
> 

We do develop on many platforms, but where are most resources lay is in the
Windows world.

We have ~60 C#/.Net Windows developers, 10 Java Developers, 4 Microsoft
C/C++ Developers, 2 Windows / Linux Kernel Driver Developers, and 1 Linux
C/C++ Developer.  

Also where most of the worlds C# developers live are in the Windows world.
My personal opinion is that if Mono provide serious real integration with
Visual Studio 2010 via a full featured extension that allowed compiling and
running against mono on Windows, Linux, Unix, and Mac OS, Intelli-sense,
Debugging, etc.  

These are very realistic and possible. I think with serious Mono support in
Windows and VS2010 that Mono could get grow much faster than it has been on
all platforms because you are taking your tools to where the largest pool of
resources are Windows & VS.





--
View this message in context: http://mono.1490590.n4.nabble.com/Why-does-MonoDevelop-require-Net-4-on-Windows-tp3481436p3483009.html
Sent from the Mono - MonoDevelop IDE mailing list archive at Nabble.com.


More information about the Monodevelop-list mailing list