Visual Basic.NET support in Mono is relatively new. The Visual Basic runtime has been available for Mono for a while, and with the release of Mono 1.2.3, the Visual Basic support is complete, with the introduction of a self-hosting compiler and class libraries for Visual Basic development on any of the Mono supported systems. For more information, read Novell's announcement on the Visual Basic compiler.
Having a native compiler for Visual Basic not only allows developers that wish to complete develop in a Mono supported platform, but also allows applications that depend on the CodeDOM (ASP.NET for example) to be developed using Visual Basic. Something that before the availability of the compiler was not possible.
New Visual Basic Framework
A new Visual Basic.NET framework is under development, and it consists of two components: a new VB.NET compiler written in VB.NET (developed by Rolf Bjarne Kvinge) and a new VB.NET runtime developed completely in VB.NET under development at Mainsoft by Rafael Mizrahi and Boris Kirzner.
The new runtime is being developed in VB.NET and does no longer require the ILASM and Perl hacks that were required to implement the Visual Basic runtime as we did in the past. The new runtime also contains a large collection of regression tests to ensure that the quality of the runtime, something that we did not have in the past.
Vbnc is a CIL compiler for the Visual Basic.Net language, written in Visual Basic.Net. The compiler is targeting the 2.0 version of the CIL language, and due to the implementation of the reflecion api in .NET it is currently impossible to generate 1.0 assemblies.
The compiler is mostly feature-complete (compared to Visual Basic 8 (Visual Studio 2005)), with the following exceptions:
- The support for Option Explicit Off is not implemented (no plans for this for the moment)
- XML comments (no plans for this for the moment)