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 метод.