Mono 1.0 Features


CLI runtime engine.

The Mono runtime engine implements the ECMA Common Language Infrastructure specification to the best of our knowledge and is able to execute code produced by the Microsoft .NET Framework.

The Mono runtime engine is available for various architectures and operating systems: x86, x86-64, PowerPC, SPARC, S390, StrongARM, HPPA on Linux, Windows, HP-UX, Solaris, MacOS and BSD operating systems.

In addition an advanced native optimizing compiler is available for x86, SPARC, s390 and PowerPC available in both an ahead-of-time (AOT) compilation mode to reduce startup time and take advantage of all available optimizations and a Just-in-Time (JIT) compilation mode.

The Mono runtime engine uses the Boehm conservative Garbage Collector (bundled with the release).

Known Issues

Code Access Security (CAS) is not supported in Mono 1.0

Java runtime engine.

The Mono 1.0 release bundles the IKVM Java virtual machine and the tools required to get Java and .NET interoperability.

Known Issues

The Java functionality is limited by the features supported by the GNU Classpath libraries.

Class Libraries.

The class libraries as shipped with Mono implement the .NET 1.1 profile. Binaries produced with Mono will run only with the .NET 1.1 framework or later versions on Windows systems.

These are the libraries that make up the Mono 1.0 release:

Please read the section on known issues with the above libraries for details.

The Gtk# 1.0 GUI programming toolkit.

Gtk# is a cross platform GUI programming toolkit available for Linux, Windows and MacOS X systems and is the recommended platform for doing desktop application development at Novell.

Gtk# provides access to any of the Mono supported languages to the the libraries that make up the GNOME 2.2 platform, and it is fully is compatible with new versions of GNOME.

All of the above are available for Mono and the Microsoft .NET Framework to develop cross platform applications. In addition on Linux and MacOS X the following are also available:

Work is underway to make these APIs available to Windows .NET developers as well.

Known Issues: MacOS X

Gtk# applications fail to start with `Cannot open font file for font Verdana 12'

This is only an issue if you are executing GTK+ applications remotely from MacOS X. To solve this, use the following workaround:

$ export GDK_USE_XFT=0

Mono and Novell specific Libraries.

The following are the libraries the that this release includes, with a short description of their functionality. Refer to the documentation for more information on them:

Third Party Libraries.

We are distributing the following third-party libraries and components with Mono 1.0 as they are useful to developers:

GNU Classpath for the CLI.

We bundle a version of the GNU Classpath with this release of Mono to support the execution of Java applications. The support of Java is limited in what is supported by GNU Classpath.

C# 1.0 Compiler

The compiler implements the ECMA C# 1.0 implementation with support for CLS compliance compilation. In addition it has support for implicit method group conversions and iterators. These features are turned on by default.

Although there are known parsing errors and compilation errors for some extreme corner cases, we are not aware of the compiler generating incorrect code at the time of the release.

IL assembler/disassembler

.NET 1.1 profile known issues

This is not a comprehensive list, nor does it list all of the differences with the .NET Framework, refer to the documentation.

Known Issues: General

The Code Access Security (CAS) APIs are available, but they are non-functional in the above libraries.

COM support has been stubbed out, and will throw `NotImplementedExceptions' if used.

IBM DB2 and OracleClient

These are both managed wrappers for proprietary client libraries, so their availability is limited to the platforms where their client libraries are distributed.

System.Data

Currently we support TDS protocol version 7.0, some features in the Framework require version 8.0.

System.Drawing

Known Issues: System.Reflection.Emit

Known Issues: System.Runtime.InteropServices

Known Issues: System.Security.Cryptography.X509Certificates

Known Issues: System.Threading

Known Issues: System.Web

The behavior of Trace.axd in Mono 1.0 does not match the .NET behavior and we recommend that you do not store passwords on Trace.axd files. If this feature is important to you please see Bug #60739 for a patch.

Known Issues: System.Web.Security

Known Issues: System.Web.UI

Known Issues: System.Web.UI.WebControls

Known Issues: System.Xml.*

IBM DB2 and OracleClient

These are both managed wrappers for proprietary client libraries, so their availability is limited to the platforms where their client libraries are distributed.

Microsoft.VisualBasic

The Microsoft VisualBasic runtime is included and will allow applications that were compiled using Microsoft's Visual Basic compiler to execute with Mono. The following are the known problems with it: