Export (0) Print
Expand All

Assembly Class

Represents an assembly, which is a reusable, versionable, and self-describing building block of a common language runtime application.

Namespace:  System.Reflection
Assembly:  mscorlib (in mscorlib.dll)

[ClassInterfaceAttribute(ClassInterfaceType.None)]
[ComVisibleAttribute(true)]
public abstract class Assembly : ICustomAttributeProvider

The Assembly type exposes the following members.

  NameDescription
Protected methodAssembly
Top

  NameDescription
Public propertyCodeBaseGets the location of the assembly as specified originally, for example, in an AssemblyName object.
Public propertySupported by Silverlight for Windows PhoneSupported by Xbox 360EntryPointGets the entry point of this assembly.
Public propertySupported by Silverlight for Windows PhoneSupported by Xbox 360FullNameGets the display name of the assembly.
Public propertySupported by Silverlight for Windows PhoneSupported by Xbox 360ImageRuntimeVersionGets a string representing the version of the common language runtime (CLR) saved in the file containing the manifest.
Public propertyIsDynamicGets a value that indicates whether the current assembly was generated dynamically in the current process by using reflection emit.
Public propertyLocationGets the path or UNC location of the loaded file that contains the manifest.
Public propertySupported by Silverlight for Windows PhoneSupported by Xbox 360ManifestModuleGets the module that contains the manifest for the current assembly.
Top

  NameDescription
Public methodSupported by Silverlight for Windows PhoneSupported by Xbox 360CreateInstanceLocates the specified type from this assembly and creates an instance of it using the system activator, using case-sensitive search.
Public methodSupported by Silverlight for Windows PhoneSupported by Xbox 360Equals(Object)Determines whether the specified Object is equal to the current Object. (Inherited from Object.)

In Silverlight for Windows Phone, this member is overridden by Equals(Object).


In XNA Framework, this member is overridden by Equals(Object).
Protected methodSupported by Silverlight for Windows PhoneSupported by Xbox 360FinalizeAllows an object to try to free resources and perform other cleanup operations before the Object is reclaimed by garbage collection. (Inherited from Object.)
Public methodStatic memberSupported by Silverlight for Windows PhoneSupported by Xbox 360GetCallingAssemblyReturns the Assembly of the method that invoked the currently executing method.
Public methodSupported by Silverlight for Windows PhoneSupported by Xbox 360GetCustomAttributes(Boolean)Gets all the custom attributes for this assembly.
Public methodSupported by Silverlight for Windows PhoneSupported by Xbox 360GetCustomAttributes(Type, Boolean)Gets the custom attributes for this assembly as specified by type.
Public methodStatic memberSupported by Silverlight for Windows PhoneSupported by Xbox 360GetExecutingAssemblyGets the assembly that contains the code that is currently executing.
Public methodSupported by Silverlight for Windows PhoneSupported by Xbox 360GetExportedTypesGets the types defined in this assembly that are visible outside the assembly.
Public methodGetFileSecurity Critical. Gets a FileStream for the specified file in the file table of the manifest of this assembly.
Public methodGetFilesSecurity Critical. Gets the files in the file table of an assembly manifest, specifying whether to include resource modules.
Public methodSupported by Silverlight for Windows PhoneSupported by Xbox 360GetHashCodeServes as a hash function for a particular type. (Inherited from Object.)

In Silverlight for Windows Phone, this member is overridden by GetHashCode().


In XNA Framework, this member is overridden by GetHashCode().
Public methodSupported by Silverlight for Windows PhoneSupported by Xbox 360GetManifestResourceNamesReturns the names of all the resources in this assembly.
Public methodSupported by Silverlight for Windows PhoneSupported by Xbox 360GetManifestResourceStream(String)Loads the specified manifest resource from this assembly.
Public methodSupported by Silverlight for Windows PhoneSupported by Xbox 360GetManifestResourceStream(Type, String)Loads the specified manifest resource, scoped by the namespace of the specified type, from this assembly.
Public methodSupported by Silverlight for Windows PhoneSupported by Xbox 360GetModulesGets all the modules that are part of this assembly.
Public methodSupported by Silverlight for Windows PhoneSupported by Xbox 360GetName()Security Critical. Gets an AssemblyName for this assembly.
Public methodSupported by Silverlight for Windows PhoneSupported by Xbox 360GetName(Boolean)Security Critical. Gets an AssemblyName for this assembly, setting the codebase as specified by copiedName.
Public methodSupported by Silverlight for Windows PhoneSupported by Xbox 360GetSatelliteAssembly(CultureInfo)Gets the satellite assembly for the specified culture.
Public methodSupported by Silverlight for Windows PhoneSupported by Xbox 360GetSatelliteAssembly(CultureInfo, Version)Gets the specified version of the satellite assembly for the specified culture.
Public methodSupported by Silverlight for Windows PhoneSupported by Xbox 360GetType()Gets the Type of the current instance. (Inherited from Object.)
Public methodSupported by Silverlight for Windows PhoneSupported by Xbox 360GetType(String)Gets the Type object with the specified name in the assembly instance.
Public methodSupported by Silverlight for Windows PhoneSupported by Xbox 360GetType(String, Boolean)Gets the Type object with the specified name in the assembly instance and optionally throws an exception if the type is not found.
Public methodSupported by Silverlight for Windows PhoneSupported by Xbox 360GetTypesGets the types defined in this assembly.
Public methodSupported by Silverlight for Windows PhoneSupported by Xbox 360IsDefinedIndicates whether or not a specified attribute has been applied to the assembly.
Public methodStatic memberSupported by Silverlight for Windows PhoneSupported by Xbox 360Load(AssemblyName)Security Critical. Loads an assembly given its AssemblyName.
Public methodStatic memberSupported by Silverlight for Windows PhoneSupported by Xbox 360Load(String)Loads an assembly given the long form of its name.
Public methodStatic memberSupported by Silverlight for Windows PhoneSupported by Xbox 360LoadFromSecurity Critical. Loads an assembly given its file name or path.
Protected methodSupported by Silverlight for Windows PhoneSupported by Xbox 360MemberwiseCloneCreates a shallow copy of the current Object. (Inherited from Object.)
Public methodSupported by Silverlight for Windows PhoneSupported by Xbox 360ToStringReturns the full name of the assembly, also known as the display name. (Overrides Object.ToString().)
Top

Use the Assembly class to load assemblies, to explore the metadata and constituent parts of assemblies, to discover the types contained in assemblies, and to create instances of those types.

To load assemblies dynamically, the Assembly class provides the static Load(String) method overload (Shared method overload in Visual Basic). Assemblies are loaded into the Silverlight application domain. Other overloads can be called only by the trusted assemblies in the .NET Framework.

To get an Assembly object for the currently executing assembly, use the GetExecutingAssembly method.

Many members of the Assembly class provide information about an assembly. For example:

  • The GetName method returns an AssemblyName object that provides access to the parts of the assembly display name.

  • The GetCustomAttributes method lists the attributes applied to the assembly.

  • The GetFiles method provides access to the files in the assembly manifest.

  • The GetManifestResourceNames method provides the names of the resources in the assembly manifest.

The GetTypes method lists all the types in the assembly. The GetExportedTypes method lists the types that are visible to callers outside the assembly. The GetType method can be used to search for a particular type in the assembly. The CreateInstance method can be used to search for and create instances of types in the assembly.

The following code example shows how to obtain the currently executing assembly, create an instance of a type contained in that assembly, and invoke one of the type's methods with late binding. For this purpose, the code example defines a class named Example, with a method named SampleMethod. The constructor of the class accepts an integer, which is used to compute the return value of the method.

The code example also demonstrates the use of the GetName method to obtain an AssemblyName object that can be used to parse the full name of the assembly. The example displays the version number of the assembly and the EntryPoint property.


using System;
using System.Reflection;
using System.Security.Permissions;

[assembly: AssemblyVersionAttribute("1.0.2000.0")]

public class Example
{
   private static System.Windows.Controls.TextBlock outputBlock;
   private int factor;

   public Example() : this(42) {}
   public Example(int f)
   {
      factor = f;
   }

   public int SampleMethod(int x)
   {
      outputBlock.Text += String.Format("\nExample.SampleMethod({0}) executes.", x) + "\n";
      return x * factor;
   }

   public static void Demo(System.Windows.Controls.TextBlock outputBlock)
   {

      Example.outputBlock = outputBlock;
      Assembly assem = Assembly.GetExecutingAssembly();

      outputBlock.Text += "Assembly Full Name:" + "\n";
      outputBlock.Text += assem.FullName + "\n";

      // Create an object from the assembly, using the default constructor.
      Object o = assem.CreateInstance("Example");

      // Make a late-bound call to an instance method of the object.    
      MethodInfo m = assem.GetType("Example").GetMethod("SampleMethod");
      Object ret = m.Invoke(o, new Object[] { 42 });
      outputBlock.Text += String.Format("SampleMethod returned {0}.\n", ret);

      outputBlock.Text += "\nAssembly entry point:\n";
      MethodInfo entry = assem.EntryPoint;
      if (entry == null)
      {
         outputBlock.Text += "No entry point defined for the assembly.\n";
      }
      else
      {
         outputBlock.Text += entry.ToString() + "\n";
      }
   }
}

/* This code example produces output similar to the following:

Assembly Full Name:
source, Version=1.0.2000.0, Culture=neutral, PublicKeyToken=null

Example.SampleMethod(42) executes.
SampleMethod returned 1784.

Assembly entry point:
No entry point defined for the assembly.
 */


Silverlight

Supported in: 5, 4, 3

Silverlight for Windows Phone

Supported in: Windows Phone OS 7.1, Windows Phone OS 7.0

XNA Framework

Supported in: Xbox 360, Windows Phone OS 7.0

For a list of the operating systems and browsers that are supported by Silverlight, see Supported Operating Systems and Browsers.

This type is thread safe.

Community Additions

Show:
© 2014 Microsoft