Mercury Base Library

The Mercury Base Library helps provide backward compatibility with Microsoft Visual Basic.NET™ by providing cross-platform versions of a range of APIs commonly used in VB.NET applications. It also provides runtime support for some Mercury language featres.

Supported Platforms

The Mercury Base Library is available on all platforms. On .NET, it is additive to the Microsoft.VisualBasic.dll provided as part of the runtime, and focuses on providing additional APIs. .NET Mercury projects will usually reference both .dlls. On the other platforms, the MBL replicates a subset of functionality provided by Microsoft.VisualBasic.dll (which of course is unavailable).


The Mercury Base Library ships precompiled with the Elements compiler, and new projects created with one of the RemObjects Mercury project templates will automatically have a reference to it. If you are adding Mercury files to a project that started out with a different language, you can add a reference to your projects via the Add References dialog in Fire, Water or Visual Studio, where the Go library should show automatically.

The library is called Mercury.dll on .NET, Mercury.fx, on Island, mercury.jar on Java and libMercury.fx on Cocoa. Its content is contained in the RemObjects.Elements.Mercury namespace.

Most of the types and functions exposed in the library are perfectly valid to be used from Oxygene, C#, Swift and Java, as well.

Detailed Documentation

While this site provides pages for all types shipped as part of the Mercury library, we are not duplicating the documentation texts provided by Microsoft for Microsoft.VisualBasic.dll. Please refer to the official documentation at Microsoft.VisualBasic Namespace for more information.

Source Code

The Mercury Base Library is open source and implemented in Mercury itself. You can find the source code on GitHub, and contributions and pull requests are more than welcome.



See Also