Assembly.GetExecutingAssembly Method
Definition
Important
Some information relates to prerelease product that may be substantially modified before it’s released. Microsoft makes no warranties, express or implied, with respect to the information provided here.
Gets the assembly that contains the code that is currently executing.
public:
static System::Reflection::Assembly ^ GetExecutingAssembly();
public static System.Reflection.Assembly GetExecutingAssembly ();
static member GetExecutingAssembly : unit -> System.Reflection.Assembly
Public Shared Function GetExecutingAssembly () As Assembly
Returns
The assembly that contains the code that is currently executing.
Examples
The following example uses the Type.Assembly property to get the currently executing assembly based on a type contained in that assembly. It also calls the GetExecutingAssembly method to show that it returns an Assembly object that represents the same assembly.
using namespace System;
using namespace System::Reflection;
ref class Example
{};
void main()
{
// Get the assembly from a known type in that assembly.
Type^ t = Example::typeid;
Assembly^ assemFromType = t->Assembly;
Console::WriteLine("Assembly that contains Example:");
Console::WriteLine(" {0}\n", assemFromType->FullName);
// Get the currently executing assembly.
Assembly^ currentAssem = Assembly::GetExecutingAssembly();
Console::WriteLine("Currently executing assembly:");
Console::WriteLine(" {0}\n", currentAssem->FullName);
Console::WriteLine("The two Assembly objects are equal: {0}",
assemFromType->Equals(currentAssem));
}
// The example displays the following output:
// Assembly that contains Example:
// GetExecutingAssembly1, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null
//
// Currently executing assembly:
// GetExecutingAssembly1, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null
//
// The two Assembly objects are equal: True
using System;
using System.Reflection;
class Example
{
static void Main()
{
// Get the assembly from a known type in that assembly.
Type t = typeof(Example);
Assembly assemFromType = t.Assembly;
Console.WriteLine("Assembly that contains Example:");
Console.WriteLine(" {0}\n", assemFromType.FullName);
// Get the currently executing assembly.
Assembly currentAssem = Assembly.GetExecutingAssembly();
Console.WriteLine("Currently executing assembly:");
Console.WriteLine(" {0}\n", currentAssem.FullName);
Console.WriteLine("The two Assembly objects are equal: {0}",
assemFromType.Equals(currentAssem));
}
}
// The example displays the following output:
// Assembly that contains Example:
// GetExecutingAssembly1, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null
//
// Currently executing assembly:
// GetExecutingAssembly1, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null
//
// The two Assembly objects are equal: True
Imports System.Reflection
Public Module Example
Public Sub Main()
' Get the assembly from a known type in that assembly.
Dim t As Type = GetType(Example)
Dim assemFromType As Assembly = t.Assembly
Console.WriteLine("Assembly that contains Example:")
Console.WriteLine(" {0}", assemFromType.FullName)
Console.WriteLine()
' Get the currently executing assembly.
Dim currentAssem As Assembly = Assembly.GetExecutingAssembly()
Console.WriteLine("Currently executing assembly:")
Console.WriteLine(" {0}", currentAssem.FullName)
Console.WriteLine()
Console.WriteLine("The two Assembly objects are equal: {0}",
assemFromType.Equals(currentAssem))
End Sub
End Module
' The example displays the following output:
' Assembly that contains Example:
' GetExecutingAssembly1, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null
'
' Currently executing assembly:
' GetExecutingAssembly1, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null
'
' The two Assembly objects are equal: True
Remarks
For performance reasons, you should call this method only when you do not know at design time what assembly is currently executing. The recommended way to retrieve an Assembly object that represents the current assembly is to use the Type.Assembly property of a type found in the assembly, as the following example illustrates.
using System;
using System.Reflection;
public class Example
{
public static void Main()
{
Assembly assem = typeof(Example).Assembly;
Console.WriteLine("Assembly name: {0}", assem.FullName);
}
}
// The example displays output like the following:
// Assembly name: Assembly1, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null
Imports System.Reflection
Module Example
Public Sub Main()
Dim assem As Assembly = GetType(Example).Assembly
Console.WriteLine("Assembly name: {0}", assem.FullName)
End Sub
End Module
' The example displays the following output:
' Assembly name: Assembly1, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null
To get the assembly that contains the method that called the currently executing code, use GetCallingAssembly.