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. Если не включена политика разграничения доступа кода для кода предыдущей версии, assemblySecurity должно иметь значение null.
Указанная сборка не имеет точку входа.
Примеры
В следующем примере показано использование одной из перегрузок в 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 Framework.
Этот метод не создает новый процесс или домен приложения и не выполняет метод точки входа в новом потоке.
Этот метод загружает сборки с помощью LoadFile метода . Сборки также можно выполнять с помощью ExecuteAssemblyByName метода , который загружает сборки с помощью Load метода .
Применяется к
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. Если не включена политика разграничения доступа кода для кода предыдущей версии, assemblySecurity должно иметь значение null.
Указанная сборка не имеет точку входа.
Примеры
В следующем примере показано использование одной из перегрузок в 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 Framework.
Этот метод не создает новый процесс или домен приложения и не выполняет метод точки входа в новом потоке.
Этот метод загружает сборки с помощью LoadFile метода . Сборки также можно выполнять с помощью ExecuteAssemblyByName метода , который загружает сборки с помощью Load метода .
Применяется к
ExecuteAssembly(String, String[], Byte[], AssemblyHashAlgorithm)
- Исходный код:
- 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);
public int ExecuteAssembly (string assemblyFile, string?[]? args, byte[]? hashValue, System.Configuration.Assemblies.AssemblyHashAlgorithm hashAlgorithm);
[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);
public int ExecuteAssembly (string assemblyFile, string[] args, byte[] hashValue, System.Configuration.Assemblies.AssemblyHashAlgorithm hashAlgorithm);
member this.ExecuteAssembly : string * string[] * byte[] * System.Configuration.Assemblies.AssemblyHashAlgorithm -> int
[<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
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 двух разных доменах.
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
Комментарии
Внимание!
Безопасность доступа к коду (CAS) не рекомендуется использовать во всех версиях платформа .NET Framework и .NET. В последних версиях .NET заметки CAS не учитываются и при использовании API, связанных с CAS, возникают ошибки. Разработчикам следует искать альтернативные средства для выполнения задач безопасности.
Сборка начинается в точке входа, указанной в заголовке платформа .NET Framework.
Этот метод не создает новый процесс или домен приложения и не выполняет метод точки входа в новом потоке.
Этот метод загружает сборки с помощью LoadFile метода . Сборки также можно выполнять с помощью ExecuteAssemblyByName метода , который загружает сборки с помощью Load метода .
Применяется к
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 двух разных доменах.
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 Framework.
Метод ExecuteAssembly не создает новый процесс или домен приложения и не выполняет метод точки входа в новом потоке.
Этот метод загружает сборки с помощью LoadFile метода . Сборки также можно выполнять с помощью ExecuteAssemblyByName метода , который загружает сборки с помощью Load метода .
Применяется к
ExecuteAssembly(String, String[])
- Исходный код:
- AppDomain.cs
- Исходный код:
- AppDomain.cs
- Исходный код:
- AppDomain.cs
Выполняет сборку, содержащуюся в указанном файле, с использованием заданных аргументов.
public:
int ExecuteAssembly(System::String ^ assemblyFile, cli::array <System::String ^> ^ args);
public int ExecuteAssembly (string assemblyFile, string?[]? args);
public int ExecuteAssembly (string assemblyFile, string[] args);
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 Framework.
Этот метод не создает новый процесс или домен приложения и не выполняет метод точки входа в новом потоке.
Этот метод загружает сборки с помощью LoadFile метода . Сборки также можно выполнять с помощью ExecuteAssemblyByName метода , который загружает сборки с помощью Load метода .
Применяется к
ExecuteAssembly(String)
- Исходный код:
- AppDomain.cs
- Исходный код:
- AppDomain.cs
- Исходный код:
- AppDomain.cs
Выполняет сборку, содержащуюся в указанном файле.
public:
int ExecuteAssembly(System::String ^ assemblyFile);
public:
virtual int ExecuteAssembly(System::String ^ assemblyFile);
public int ExecuteAssembly (string assemblyFile);
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 Framework.
Этот метод не создает новый процесс или домен приложения и не выполняет метод точки входа в новом потоке.
Этот метод загружает сборки с помощью LoadFile метода . Сборки также можно выполнять с помощью ExecuteAssemblyByName метода , который загружает сборки с помощью Load метода .
Чтобы создать AppDomain для загрузки и выполнения, используйте CreateDomain метод .