Mono Class Library: System.Reflection NamespaceSystem.Reflection.Assembly Class |
See Also: Assembly Members
|
This type is safe for multithreaded operations.
An assembly is a reusable, versionable, self-describing deployment unit for types and resources. Assemblies are the fundamental units of deployment, and consist of collections of types and resources that are built to work together and form logical units of functionality.
An assembly consists of the following two logical elements:
- The sets of types and resources that form some logical unit of functionality.
- A manifest, which is the metadata that describes how the types and resources of an assembly relate and what they depend on to work properly.
The following information is captured in an assembly manifest:
- Identity. An assembly's identity includes its simple name (also called its weak name), a version number, an optional culture if the assembly contains localized resources, and an optional public key used to guarantee name uniqueness and to "protect" the name from unwanted reuse.
- Contents. Assemblies contain types and resources. The manifest lists the names of all the types and resources that are visible outside the assembly, along with information about where they can be found within the assembly.
- Dependencies. Each assembly explicitly describes other assemblies that it is dependent upon. Included in this dependency information is the version of each dependency that was present when the manifest was built and tested. In this way the "known good" configuration is recorded and can be reverted to in case of failures due to version mismatches.
- Requested Permissions. As an assembly is being built, the assembly records the set of permissions that the assembly requires to run.
Note: For additional information about assemblies, see Partition II of the CLI Specification.[Edit]
Namespace: System.Reflection
Assembly: mscorlib (in mscorlib.dll)
Assembly Versions: 1.0.5000.0, 2.0.0.0