Assemblies

Code in .NET and Mono is distributed in assemblies, there are shipped typically in files with the extension .exe or .dll, and they are files that extend the Portable Executable file format to include the Common Intermediate Language metadata and portable code.

Assemblies are typically loaded either from a given file path, or using an Assembly Name to load them from the Global Assembly Cache.

The Mono Assembly API contains method for dealing with assembly names, loading assemblies, accessing assembly components, modules and some advanced features.

Assemblies contain one or more images, the actual vessels for your code. The Image API documents the functions that operate on MonoImage *.

Synopsis

#include <metadata/assembly.h> typedef struct _MonoImage MonoImage; typedef struct _MonoAssembly MonoAssembly;

Assembly Loading

mono_assembly_close

mono_assembly_get_object

mono_assembly_load

mono_assembly_load_full

mono_assembly_loaded

mono_assembly_load_from

mono_assembly_load_from_full

mono_assembly_load_with_partial_name

mono_assembly_open

mono_assembly_open_full

mono_set_assemblies_path

mono_set_rootdir

Working with Assemblies

mono_assembly_fill_assembly_name

mono_assembly_foreach

mono_assembly_get_image

mono_assembly_get_main

mono_assembly_get_name

mono_assembly_getrootdir

mono_assembly_get_assemblyref

mono_assembly_loaded_full

mono_assembly_load_reference

mono_assembly_load_references

mono_assembly_load_module

mono_assembly_invoke_load_hook

mono_assembly_invoke_search_hook

mono_assembly_set_main

mono_assembly_setrootdir

mono_register_config_for_assembly

mono_register_symfile_for_assembly

Assembly Names

The MonoAssemblyName contains the full identity of an assembly (name, culture, public key, public key token, version and any other flags).

These unmanaged objects represent the System.Reflection.AssemblyName managed type.

mono_assembly_name_new

mono_assembly_name_get_name

mono_assembly_name_get_culture

mono_assembly_name_get_version

mono_assembly_name_get_pubkeytoken

mono_assembly_name_free

mono_stringify_assembly_name

mono_assembly_names_equal

Modules

An assembly is made up of one or more modules.

mono_module_file_get_object

mono_module_get_object

Advanced

mono_install_assembly_load_hook

mono_install_assembly_search_hook

mono_install_assembly_refonly_search_hook

mono_install_assembly_preload_hook

mono_install_assembly_refonly_preload_hook

mono_install_assembly_postload_search_hook

mono_install_assembly_postload_refonly_search_hook