AppDomain.ExecuteAssembly Метод

Определение

Выполняет сборку, содержащуюся в указанном файле.

Перегрузки

Имя Описание
ExecuteAssembly(String, Evidence, String[], Byte[], AssemblyHashAlgorithm)
Устаревшие.

Выполняет сборку, содержащуюся в указанном файле, используя указанные доказательства, аргументы, хэш-значение и хэш-алгоритм.

ExecuteAssembly(String, Evidence, String[])
Устаревшие.

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

ExecuteAssembly(String, String[], Byte[], AssemblyHashAlgorithm)
Устаревшие.

Выполняет сборку, содержащуюся в указанном файле, используя указанные аргументы, хэш-значение и хэш-алгоритм.

ExecuteAssembly(String, Evidence)
Устаревшие.

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

ExecuteAssembly(String, String[])

Выполняет сборку, содержащуюся в указанном файле, с помощью указанных аргументов.

ExecuteAssembly(String)

Выполняет сборку, содержащуюся в указанном файле.

ExecuteAssembly(String, Evidence, String[], Byte[], AssemblyHashAlgorithm)

Внимание!

Methods which use evidence to sandbox are obsolete and will be removed in a future release of the .NET Framework. Please use an overload of ExecuteAssembly which does not take an Evidence parameter. See http://go.microsoft.com/fwlink/?LinkID=155570 for more information.

Выполняет сборку, содержащуюся в указанном файле, используя указанные доказательства, аргументы, хэш-значение и хэш-алгоритм.

public:
 int ExecuteAssembly(System::String ^ assemblyFile, System::Security::Policy::Evidence ^ assemblySecurity, cli::array <System::String ^> ^ args, cli::array <System::Byte> ^ hashValue, System::Configuration::Assemblies::AssemblyHashAlgorithm hashAlgorithm);
public int ExecuteAssembly(string assemblyFile, System.Security.Policy.Evidence assemblySecurity, string[] args, byte[] hashValue, System.Configuration.Assemblies.AssemblyHashAlgorithm hashAlgorithm);
[System.Obsolete("Methods which use evidence to sandbox are obsolete and will be removed in a future release of the .NET Framework. Please use an overload of ExecuteAssembly which does not take an Evidence parameter. See http://go.microsoft.com/fwlink/?LinkID=155570 for more information.")]
public int ExecuteAssembly(string assemblyFile, System.Security.Policy.Evidence assemblySecurity, string[] args, byte[] hashValue, System.Configuration.Assemblies.AssemblyHashAlgorithm hashAlgorithm);
member this.ExecuteAssembly : string * System.Security.Policy.Evidence * string[] * byte[] * System.Configuration.Assemblies.AssemblyHashAlgorithm -> int
[<System.Obsolete("Methods which use evidence to sandbox are obsolete and will be removed in a future release of the .NET Framework. Please use an overload of ExecuteAssembly which does not take an Evidence parameter. See http://go.microsoft.com/fwlink/?LinkID=155570 for more information.")>]
member this.ExecuteAssembly : string * System.Security.Policy.Evidence * string[] * byte[] * System.Configuration.Assemblies.AssemblyHashAlgorithm -> int
Public Function ExecuteAssembly (assemblyFile As String, assemblySecurity As Evidence, args As String(), hashValue As Byte(), hashAlgorithm As AssemblyHashAlgorithm) As Integer

Параметры

assemblyFile
String

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

assemblySecurity
Evidence

Предоставленные доказательства сборки.

args
String[]

Аргументы точки входа сборки.

hashValue
Byte[]

Представляет значение вычисляемого хэш-кода.

hashAlgorithm
AssemblyHashAlgorithm

Представляет хэш-алгоритм, используемый манифестом сборки.

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

Значение, возвращаемое точкой входа сборки.

Атрибуты

Исключения

assemblyFile равно null.

assemblyFile не найден.

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

Операция выполняется в выгруженном домене приложения.

Сборка или модуль была загружена дважды с двумя разными доказательствами.

assemblySecurity не nullявляется . Если устаревшая политика CAS не включена, assemblySecurity следует.null

Указанная сборка не имеет точки входа.

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

ExecuteAssembly(String, Evidence, String[])

Внимание!

Methods which use evidence to sandbox are obsolete and will be removed in a future release of the .NET Framework. Please use an overload of ExecuteAssembly which does not take an Evidence parameter. See http://go.microsoft.com/fwlink/?LinkID=155570 for more information.

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

public:
 virtual int ExecuteAssembly(System::String ^ assemblyFile, System::Security::Policy::Evidence ^ assemblySecurity, cli::array <System::String ^> ^ args);
public int ExecuteAssembly(string assemblyFile, System.Security.Policy.Evidence assemblySecurity, string[] args);
[System.Obsolete("Methods which use evidence to sandbox are obsolete and will be removed in a future release of the .NET Framework. Please use an overload of ExecuteAssembly which does not take an Evidence parameter. See http://go.microsoft.com/fwlink/?LinkID=155570 for more information.")]
public int ExecuteAssembly(string assemblyFile, System.Security.Policy.Evidence assemblySecurity, string[] args);
abstract member ExecuteAssembly : string * System.Security.Policy.Evidence * string[] -> int
override this.ExecuteAssembly : string * System.Security.Policy.Evidence * string[] -> int
[<System.Obsolete("Methods which use evidence to sandbox are obsolete and will be removed in a future release of the .NET Framework. Please use an overload of ExecuteAssembly which does not take an Evidence parameter. See http://go.microsoft.com/fwlink/?LinkID=155570 for more information.")>]
abstract member ExecuteAssembly : string * System.Security.Policy.Evidence * string[] -> int
override this.ExecuteAssembly : string * System.Security.Policy.Evidence * string[] -> int
Public Function ExecuteAssembly (assemblyFile As String, assemblySecurity As Evidence, args As String()) As Integer

Параметры

assemblyFile
String

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

assemblySecurity
Evidence

Предоставленные доказательства сборки.

args
String[]

Аргументы точки входа сборки.

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

Значение, возвращаемое точкой входа сборки.

Реализации

Атрибуты

Исключения

assemblyFile равно null.

assemblyFile не найден.

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

Операция выполняется в выгруженном домене приложения.

Сборка или модуль была загружена дважды с двумя разными доказательствами.

assemblySecurity не nullявляется . Если устаревшая политика CAS не включена, assemblySecurity следует.null

Указанная сборка не имеет точки входа.

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

ExecuteAssembly(String, String[], Byte[], AssemblyHashAlgorithm)

Исходный код:
AppDomain.cs
Исходный код:
AppDomain.cs
Исходный код:
AppDomain.cs
Исходный код:
AppDomain.cs
Исходный код:
AppDomain.cs

Внимание!

Code Access Security is not supported or honored by the runtime.

Выполняет сборку, содержащуюся в указанном файле, используя указанные аргументы, хэш-значение и хэш-алгоритм.

public:
 int ExecuteAssembly(System::String ^ assemblyFile, cli::array <System::String ^> ^ args, cli::array <System::Byte> ^ hashValue, System::Configuration::Assemblies::AssemblyHashAlgorithm hashAlgorithm);
[System.Diagnostics.CodeAnalysis.RequiresUnreferencedCode("Types and members the loaded assembly depends on might be removed")]
[System.Obsolete("Code Access Security is not supported or honored by the runtime.", DiagnosticId="SYSLIB0003", UrlFormat="https://aka.ms/dotnet-warnings/{0}")]
public int ExecuteAssembly(string assemblyFile, string?[]? args, byte[]? hashValue, System.Configuration.Assemblies.AssemblyHashAlgorithm hashAlgorithm);
[System.Diagnostics.CodeAnalysis.RequiresUnreferencedCode("Types and members the loaded assembly depends on might be removed")]
public int ExecuteAssembly(string assemblyFile, string?[]? args, byte[]? hashValue, System.Configuration.Assemblies.AssemblyHashAlgorithm hashAlgorithm);
public int ExecuteAssembly(string assemblyFile, string[] args, byte[] hashValue, System.Configuration.Assemblies.AssemblyHashAlgorithm hashAlgorithm);
public int ExecuteAssembly(string assemblyFile, string?[]? args, byte[]? hashValue, System.Configuration.Assemblies.AssemblyHashAlgorithm hashAlgorithm);
[<System.Diagnostics.CodeAnalysis.RequiresUnreferencedCode("Types and members the loaded assembly depends on might be removed")>]
[<System.Obsolete("Code Access Security is not supported or honored by the runtime.", DiagnosticId="SYSLIB0003", UrlFormat="https://aka.ms/dotnet-warnings/{0}")>]
member this.ExecuteAssembly : string * string[] * byte[] * System.Configuration.Assemblies.AssemblyHashAlgorithm -> int
[<System.Diagnostics.CodeAnalysis.RequiresUnreferencedCode("Types and members the loaded assembly depends on might be removed")>]
member this.ExecuteAssembly : string * string[] * byte[] * System.Configuration.Assemblies.AssemblyHashAlgorithm -> int
member this.ExecuteAssembly : string * string[] * byte[] * System.Configuration.Assemblies.AssemblyHashAlgorithm -> int
Public Function ExecuteAssembly (assemblyFile As String, args As String(), hashValue As Byte(), hashAlgorithm As AssemblyHashAlgorithm) As Integer

Параметры

assemblyFile
String

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

args
String[]

Аргументы точки входа сборки.

hashValue
Byte[]

Представляет значение вычисляемого хэш-кода.

hashAlgorithm
AssemblyHashAlgorithm

Представляет хэш-алгоритм, используемый манифестом сборки.

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

Значение, возвращаемое точкой входа сборки.

Атрибуты

Исключения

assemblyFile равно null.

assemblyFile не найден.

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

Операция выполняется в выгруженном домене приложения.

Сборка или модуль была загружена дважды с двумя разными доказательствами.

Указанная сборка не имеет точки входа.

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

ExecuteAssembly(String, Evidence)

Внимание!

Methods which use evidence to sandbox are obsolete and will be removed in a future release of the .NET Framework. Please use an overload of ExecuteAssembly which does not take an Evidence parameter. See http://go.microsoft.com/fwlink/?LinkID=155570 for more information.

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

public:
 virtual int ExecuteAssembly(System::String ^ assemblyFile, System::Security::Policy::Evidence ^ assemblySecurity);
public int ExecuteAssembly(string assemblyFile, System.Security.Policy.Evidence assemblySecurity);
[System.Obsolete("Methods which use evidence to sandbox are obsolete and will be removed in a future release of the .NET Framework. Please use an overload of ExecuteAssembly which does not take an Evidence parameter. See http://go.microsoft.com/fwlink/?LinkID=155570 for more information.")]
public int ExecuteAssembly(string assemblyFile, System.Security.Policy.Evidence assemblySecurity);
abstract member ExecuteAssembly : string * System.Security.Policy.Evidence -> int
override this.ExecuteAssembly : string * System.Security.Policy.Evidence -> int
[<System.Obsolete("Methods which use evidence to sandbox are obsolete and will be removed in a future release of the .NET Framework. Please use an overload of ExecuteAssembly which does not take an Evidence parameter. See http://go.microsoft.com/fwlink/?LinkID=155570 for more information.")>]
abstract member ExecuteAssembly : string * System.Security.Policy.Evidence -> int
override this.ExecuteAssembly : string * System.Security.Policy.Evidence -> int
Public Function ExecuteAssembly (assemblyFile As String, assemblySecurity As Evidence) As Integer

Параметры

assemblyFile
String

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

assemblySecurity
Evidence

Доказательства загрузки сборки.

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

Значение, возвращаемое точкой входа сборки.

Реализации

Атрибуты

Исключения

assemblyFile равно null.

assemblyFile не найден.

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

Операция выполняется в выгруженном домене приложения.

Сборка или модуль была загружена дважды с двумя разными доказательствами.

Указанная сборка не имеет точки входа.

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

ExecuteAssembly(String, String[])

Исходный код:
AppDomain.cs
Исходный код:
AppDomain.cs
Исходный код:
AppDomain.cs
Исходный код:
AppDomain.cs
Исходный код:
AppDomain.cs

Выполняет сборку, содержащуюся в указанном файле, с помощью указанных аргументов.

public:
 int ExecuteAssembly(System::String ^ assemblyFile, cli::array <System::String ^> ^ args);
[System.Diagnostics.CodeAnalysis.RequiresUnreferencedCode("Types and members the loaded assembly depends on might be removed")]
public int ExecuteAssembly(string assemblyFile, string?[]? args);
public int ExecuteAssembly(string assemblyFile, string[] args);
public int ExecuteAssembly(string assemblyFile, string?[]? args);
[<System.Diagnostics.CodeAnalysis.RequiresUnreferencedCode("Types and members the loaded assembly depends on might be removed")>]
member this.ExecuteAssembly : string * string[] -> int
member this.ExecuteAssembly : string * string[] -> int
Public Function ExecuteAssembly (assemblyFile As String, args As String()) As Integer

Параметры

assemblyFile
String

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

args
String[]

Аргументы точки входа сборки.

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

Значение, возвращаемое точкой входа сборки.

Атрибуты

Исключения

assemblyFile равно null.

assemblyFile не найден.

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

Операция выполняется в выгруженном домене приложения.

Сборка или модуль была загружена дважды с двумя разными доказательствами.

Указанная сборка не имеет точки входа.

Примеры

В следующем примере показано использование одной из перегрузок двух разных доменов ExecuteAssembly .

int main()
{
   AppDomain^ currentDomain = AppDomain::CurrentDomain;
   AppDomain^ otherDomain = AppDomain::CreateDomain( "otherDomain" );
   currentDomain->ExecuteAssembly( "MyExecutable.exe" );
   
   // Prints S"MyExecutable running on [default]"
   otherDomain->ExecuteAssembly( "MyExecutable.exe" );
   
   // Prints S"MyExecutable running on otherDomain"
}
class ExecuteAssemblySnippet {
   public static void Main() {
      AppDomain currentDomain = AppDomain.CurrentDomain;
      AppDomain otherDomain = AppDomain.CreateDomain("otherDomain");

      currentDomain.ExecuteAssembly("MyExecutable.exe");
      // Prints "MyExecutable running on [default]"

      otherDomain.ExecuteAssembly("MyExecutable.exe");
      // Prints "MyExecutable running on otherDomain"
   }
}
open System

let currentDomain = AppDomain.CurrentDomain
let otherDomain = AppDomain.CreateDomain "otherDomain"

currentDomain.ExecuteAssembly "MyExecutable.exe"
// Prints "MyExecutable running on [default]"

otherDomain.ExecuteAssembly "MyExecutable.exe"
// Prints "MyExecutable running on otherDomain"
Module Test

   Sub Main()
      Dim currentDomain As AppDomain = AppDomain.CurrentDomain
      Dim otherDomain As AppDomain = AppDomain.CreateDomain("otherDomain")
      
      currentDomain.ExecuteAssembly("MyExecutable.exe")
      ' Prints "MyExecutable running on [default]"

      otherDomain.ExecuteAssembly("MyExecutable.exe")
      ' Prints "MyExecutable running on otherDomain"
   End Sub

End Module 'Test

Комментарии

Сборка начинает выполняться в точке входа, указанной в заголовке .NET.

Этот метод не создает новый процесс или домен приложения, и он не выполняет метод точки входа в новом потоке.

Этот метод загружает сборки с помощью LoadFile метода. Вы также можете выполнять сборки с помощью ExecuteAssemblyByName метода, который загружает сборки с помощью Load метода.

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

ExecuteAssembly(String)

Исходный код:
AppDomain.cs
Исходный код:
AppDomain.cs
Исходный код:
AppDomain.cs
Исходный код:
AppDomain.cs
Исходный код:
AppDomain.cs

Выполняет сборку, содержащуюся в указанном файле.

public:
 int ExecuteAssembly(System::String ^ assemblyFile);
public:
 virtual int ExecuteAssembly(System::String ^ assemblyFile);
[System.Diagnostics.CodeAnalysis.RequiresUnreferencedCode("Types and members the loaded assembly depends on might be removed")]
public int ExecuteAssembly(string assemblyFile);
public int ExecuteAssembly(string assemblyFile);
[<System.Diagnostics.CodeAnalysis.RequiresUnreferencedCode("Types and members the loaded assembly depends on might be removed")>]
member this.ExecuteAssembly : string -> int
member this.ExecuteAssembly : string -> int
abstract member ExecuteAssembly : string -> int
override this.ExecuteAssembly : string -> int
Public Function ExecuteAssembly (assemblyFile As String) As Integer

Параметры

assemblyFile
String

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

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

Значение, возвращаемое точкой входа сборки.

Реализации

Атрибуты

Исключения

assemblyFile равно null.

assemblyFile не найден.

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

Операция выполняется в выгруженном домене приложения.

Сборка или модуль была загружена дважды с двумя разными доказательствами.

Указанная сборка не имеет точки входа.

Примеры

В следующем примере показано использование одной из перегрузок двух разных доменов ExecuteAssembly .

int main()
{
   AppDomain^ currentDomain = AppDomain::CurrentDomain;
   AppDomain^ otherDomain = AppDomain::CreateDomain( "otherDomain" );
   currentDomain->ExecuteAssembly( "MyExecutable.exe" );
   
   // Prints S"MyExecutable running on [default]"
   otherDomain->ExecuteAssembly( "MyExecutable.exe" );
   
   // Prints S"MyExecutable running on otherDomain"
}
class ExecuteAssemblySnippet {
   public static void Main() {
      AppDomain currentDomain = AppDomain.CurrentDomain;
      AppDomain otherDomain = AppDomain.CreateDomain("otherDomain");

      currentDomain.ExecuteAssembly("MyExecutable.exe");
      // Prints "MyExecutable running on [default]"

      otherDomain.ExecuteAssembly("MyExecutable.exe");
      // Prints "MyExecutable running on otherDomain"
   }
}
open System

let currentDomain = AppDomain.CurrentDomain
let otherDomain = AppDomain.CreateDomain "otherDomain"

currentDomain.ExecuteAssembly "MyExecutable.exe"
// Prints "MyExecutable running on [default]"

otherDomain.ExecuteAssembly "MyExecutable.exe"
// Prints "MyExecutable running on otherDomain"
Module Test

   Sub Main()
      Dim currentDomain As AppDomain = AppDomain.CurrentDomain
      Dim otherDomain As AppDomain = AppDomain.CreateDomain("otherDomain")
      
      currentDomain.ExecuteAssembly("MyExecutable.exe")
      ' Prints "MyExecutable running on [default]"

      otherDomain.ExecuteAssembly("MyExecutable.exe")
      ' Prints "MyExecutable running on otherDomain"
   End Sub

End Module 'Test

Комментарии

Сборка начинает выполняться в точке входа, указанной в заголовке .NET.

Этот метод не создает новый процесс или домен приложения, и он не выполняет метод точки входа в новом потоке.

Этот метод загружает сборки с помощью LoadFile метода. Вы также можете выполнять сборки с помощью ExecuteAssemblyByName метода, который загружает сборки с помощью Load метода.

Чтобы создать загрузку AppDomain и выполнение, используйте CreateDomain метод.

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