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