mono-api-assembly.html
Assemblies
Synopsis
Assembly Loading
mono_assembly_open
MonoAssembly*
mono_assembly_open (const char *filename, MonoImageOpenStatus *status)
Parameters
filename: Opens the assembly pointed out by this namestatus: where a status code can be returned
Returns
a pointer to the MonoAssembly if filename contains a valid
assembly or NULL on error. Details about the error are stored in the
status variable.
Remarks
mono_assembly_open opens the PE-image pointed by
filename, and
loads any external assemblies referenced by it.
mono_assembly_close
void
mono_assembly_close (MonoAssembly *assembly)
Parameters
assembly: the assembly to release.
Remarks
This method releases a reference to the
assembly. The assembly is
only released when all the outstanding references to it are released.
mono_assembly_load
MonoAssembly*
mono_assembly_load (MonoAssemblyName *aname, const char *basedir, MonoImageOpenStatus *status)
Parameters
aname: A MonoAssemblyName with the assembly name to load.basedir: A directory to look up the assembly at.status: a pointer to a MonoImageOpenStatus to return the status of the load operation
Returns
the assembly referenced by aname loaded or NULL on error. On error the
value pointed by status is updated with an error code.
Remarks
Loads the assembly referenced by
aname, if the value of
basedir is not NULL, it
attempts to load the assembly from that directory before probing the standard locations.
mono_assembly_load_full
MonoAssembly*
mono_assembly_load_full (MonoAssemblyName *aname, const char *basedir, MonoImageOpenStatus *status, gboolean refonly)
Parameters
aname: A MonoAssemblyName with the assembly name to load.basedir: A directory to look up the assembly at.status: a pointer to a MonoImageOpenStatus to return the status of the load operationrefonly: Whether this assembly is being opened in "reflection-only" mode.
Returns
the assembly referenced by aname loaded or NULL on error. On error the
value pointed by status is updated with an error code.
Remarks
Loads the assembly referenced by
aname, if the value of
basedir is not NULL, it
attempts to load the assembly from that directory before probing the standard locations.
If the assembly is being opened in reflection-only mode (
refonly set to TRUE) then no
assembly binding takes place.
mono_assembly_loaded
MonoAssembly*
mono_assembly_loaded (MonoAssemblyName *aname)
Parameters
aname: an assembly to look for.
Returns
NULL If the given aname assembly has not been loaded, or a pointer to
a MonoAssembly that matches the MonoAssemblyName specified.
mono_assembly_get_object
Prototype: mono_assembly_get_object
Working with Assemblies
mono_assembly_get_image
MonoImage*
mono_assembly_get_image (MonoAssembly *assembly)
Parameters
assembly: The assembly to retrieve the image from
Returns
the MonoImage associated with this assembly.
mono_assembly_get_main
MonoAssembly*
mono_assembly_get_main (void)
Returns
the assembly for the application, the first assembly that is loaded by the VM
mono_assembly_getrootdir
G_CONST_RETURN gchar *
mono_assembly_getrootdir (void)
Returns
a string with the directory, this string should not be freed.
Remarks
Obtains the root directory used for looking up assemblies.
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_free
void
mono_assembly_name_free (MonoAssemblyName *aname)
Parameters
aname: assembly name to free
Remarks
Frees the provided assembly name object.
(it does not frees the object itself, only the name members).
mono_stringify_assembly_name
char*
mono_stringify_assembly_name (MonoAssemblyName *aname)
Parameters
aname: the assembly name.
Returns
a newly allocated string with a string representation of
the assembly name.
Remarks
Convert
aname into its string format. The returned string is dynamically
allocated and should be freed by the caller.
mono_assembly_names_equal
gboolean
mono_assembly_names_equal (MonoAssemblyName *l, MonoAssemblyName *r)
Parameters
l: first assemblyr: second assembly.
Returns
TRUE if both assembly names are equal.
Remarks
Compares two MonoAssemblyNames and returns whether they are equal.
This compares the names, the cultures, the release version and their
public tokens.
Modules
An assembly is made up of one or more modules.
mono_module_file_get_object
Prototype: mono_module_file_get_object
mono_module_get_object
Prototype: mono_module_get_object