mono-config(5) - Linux man page

Name

mono-config - Mono runtime file format configuration

Description

The Mono runtime will load configuration data from the installation prefix /etc/mono/config file, the ~/.mono/config or from the file pointed by the MONO_CONFIG environment variable.

For each assembly loaded a config file with the name: /path/to/the/assembly.exe.config is loaded, too.

This file controls the behavior of the runtime.

The file contains an XML-like file with various sections, all of them contained inside a section (It actually uses GMarkup to parse the file).

<dllmap> directive

You use the dllmap directive to map shared libraries referenced by P/Invoke in your assemblies to a different shared library.

This is typically used to map Windows libraries to Unix library names. The dllmap element takes two attributes:

dll

This should be the same string used in the DllImport attribute

target

This should be the name of the library where the function can be found: this name should be suitable for use with the platform native shared library loading routines (dlopen etc.), so you may want to check the manpages for that, too.

<dllentry> directive

This directive can be used to map a specific dll/function pair to a different library and also a different function name. It should appear inside a dllmap element with only the dll attribute specified.

The dllentry element takes 3 attributes:

dll

This is the target library, where the function can be found.

name

This is the name of the fuction as it appears in the metadata: it is the name of the P/Invoke method.

target

This is the name of the function to lookup instead of the name specified in the P/Invoke method.

Examples

The following example maps references to the 'cygwin1.dll' shared library to the 'libc.so.6' file.

<configuration>
<dllmap dll="cygwin1.dll" target="libc.so.6"/>
</configuration>

This one maps the following C# method:

[DllImport ("libc")]

static extern void somefunction ();

to differentfunction in libdifferent.so.
<configuration>
<dllmap dll="libc">

<dllentry dll="libdifferent.so" name="somefunction" target="differentfunction" />

</dllmap>

</configuration>

See Also

mono(1),monodis(1),mint(1)

Referenced By

gacutil(1), mkbundle(1), oldmono(1), prj2make(1), resgen(1)