[Mono-list] vbnet and mono

Jonathan Pryor jonpryor@vt.edu
Sun, 01 Feb 2004 13:46:53 -0500


On Wed, 2004-01-28 at 06:53, Nahashon wrote:
> Am trying to grasp this concept of mono.

Mono is an implementation of ECMA standard 335: Common Language
Infrastructure:

	http://www.ecma-international.org/publications/standards/Ecma-335.html

This is a subset of .NET.  Mono also attempts to implement the
non-standardized portions of .NET, such as System.Windows.Forms,
WebForms, and other technologies.

> I develop my software in vb.net on a windows 2000 platform. My client
> might move to linux platform as their os.
> 
> How can I benefit from mono? will I be writing my code is vbnet in
> vs.net or will I be writing code in vbnet then compile in mono?

VB.NET generates CIL (Common Intermediate Language), just like C# and
other .NET languages.  In principal, you should be able to develop and
compile your code in VB.NET/VS.NET and run it on Linux under Mono.

That's the theory, anyway.

The practice is that this *can* work, but whether it *does* or not
depends upon what .NET classes you're using.  Some classes are complete,
except for the occasional bug, such as System, System.Collections, and
System.IO.  Other classes are incomplete but being worked on, such as
System.Windows.Forms and the Global Assembly Cache (GAC).  Others still
haven't been started yet, or are at a very early stage of development,
such as Code Access Security, COM interop, and
System.EnterpriseServices.

How can you benefit from mono?  If you're lucky, your code will "Just
Run" under Mono.  If you're not that lucky, you can file bugs so we know
what issues you're seeing, and hopefully you'll be able to run under
Mono in a future release.  Alternatively, you can help implement the
pieces that you require, allowing your code to run under Mono sooner,
and increasing your potential customer base as well. ;-)

 - Jon