Прочитать на английском

Поделиться через


Assembly.GetExecutingAssembly Метод

Определение

Получает сборку, которая содержит выполняемый в текущий момент код.

public static System.Reflection.Assembly GetExecutingAssembly();

Возвращаемое значение

Сборка, содержащая выполняемый в текущий момент код.

Примеры

В следующем примере свойство используется Type.Assembly для получения выполняемой в данный момент сборки на основе типа, содержащегося в этой сборке. Он также вызывает метод , GetExecutingAssembly чтобы показать, что он возвращает Assembly объект, представляющий ту же сборку.

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

Комментарии

Из соображений производительности этот метод следует вызывать только в том случае, если во время разработки неизвестно, какая сборка выполняется в данный момент. Для получения объекта, представляющего текущую Assembly сборку, рекомендуется использовать Type.Assembly свойство типа, найденного в сборке, как показано в следующем примере.

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

Чтобы получить сборку, содержащую метод , который вызвал текущий выполняющийся код, используйте .GetCallingAssembly

Применяется к

Продукт Версии
.NET Core 2.0, Core 2.1, Core 2.2, Core 3.0, Core 3.1, 5, 6, 7, 8, 9, 10
.NET Framework 1.1, 2.0, 3.0, 3.5, 4.0, 4.5, 4.5.1, 4.5.2, 4.6, 4.6.1, 4.6.2, 4.7, 4.7.1, 4.7.2, 4.8, 4.8.1
.NET Standard 2.0, 2.1