AppDomain.ExecuteAssembly AppDomain.ExecuteAssembly AppDomain.ExecuteAssembly AppDomain.ExecuteAssembly Method

정의

지정한 파일에 포함된 어셈블리를 실행합니다.Executes the assembly contained in the specified file.

오버로드

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

지정한 증명 정보, 인수, 해시 값 및 해시 알고리즘을 사용하여 지정한 파일에 포함된 어셈블리를 실행합니다.Executes the assembly contained in the specified file, using the specified evidence, arguments, hash value, and hash algorithm.

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

지정한 증명 정보 및 인수를 사용하여 지정한 파일에 포함된 어셈블리를 실행합니다.Executes the assembly contained in the specified file, using the specified evidence and arguments.

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

지정한 인수, 해시 값 및 해시 알고리즘을 사용하여 지정한 파일에 포함된 어셈블리를 실행합니다.Executes the assembly contained in the specified file, using the specified arguments, hash value, and hash algorithm.

ExecuteAssembly(String, Evidence) ExecuteAssembly(String, Evidence) ExecuteAssembly(String, Evidence) ExecuteAssembly(String, Evidence)

지정한 증명 정보를 사용하여 지정한 파일에 포함된 어셈블리를 실행합니다.Executes the assembly contained in the specified file, using the specified evidence.

ExecuteAssembly(String, String[]) ExecuteAssembly(String, String[]) ExecuteAssembly(String, String[]) ExecuteAssembly(String, String[])

지정한 인수를 사용하여 지정한 파일에 포함된 어셈블리를 실행합니다.Executes the assembly contained in the specified file, using the specified arguments.

ExecuteAssembly(String) ExecuteAssembly(String) ExecuteAssembly(String) ExecuteAssembly(String)

지정한 파일에 포함된 어셈블리를 실행합니다.Executes the assembly contained in the specified file.

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

경고

이 API는 현재 사용되지 않습니다.

지정한 증명 정보, 인수, 해시 값 및 해시 알고리즘을 사용하여 지정한 파일에 포함된 어셈블리를 실행합니다.Executes the assembly contained in the specified file, using the specified evidence, arguments, hash value, and hash algorithm.

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);
[System.Obsolete("Use an overload that does not take an Evidence parameter")]
[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
Public Function ExecuteAssembly (assemblyFile As String, assemblySecurity As Evidence, args As String(), hashValue As Byte(), hashAlgorithm As AssemblyHashAlgorithm) As Integer

매개 변수

assemblyFile
String String String String

실행할 어셈블리가 포함된 파일 이름입니다.The name of the file that contains the assembly to execute.

assemblySecurity
Evidence Evidence Evidence Evidence

어셈블리에 제공된 증거입니다.The supplied evidence for the assembly.

args
String[]

어셈블리의 진입점에 대한 인수입니다.The arguments to the entry point of the assembly.

hashValue
Byte[]

계산된 해시 코드의 값을 나타냅니다.Represents the value of the computed hash code.

hashAlgorithm
AssemblyHashAlgorithm AssemblyHashAlgorithm AssemblyHashAlgorithm AssemblyHashAlgorithm

어셈블리 매니페스트에 사용되는 해시 알고리즘을 나타냅니다.Represents the hash algorithm used by the assembly manifest.

반환

어셈블리의 진입점에서 반환한 값입니다.The value returned by the entry point of the assembly.

예외

assemblyFilenull인 경우assemblyFile is null.

assemblyFile가 없는 경우assemblyFile is not found.

assemblyFile는 유효한 어셈블리가 아닙니다.assemblyFile is not a valid assembly.

또는-or- 버전 2.0 이상의 공용 언어 런타임이 현재 로드되어 있으며 assemblyFile이 이후 버전으로 컴파일되었습니다.Version 2.0 or later of the common language runtime is currently loaded and assemblyFile was compiled with a later version.

언로드된 애플리케이션 도메인에서 작업이 시도됩니다.The operation is attempted on an unloaded application domain.

어셈블리 또는 모듈이 서로 다른 두 증명 정보로 두 번 로드되었습니다.An assembly or module was loaded twice with two different evidences.

assemblySecuritynull가 아닙니다.assemblySecurity is not null. 레거시 CAS 정책을 사용하지 않을 때는 assemblySecuritynull이 되어야 합니다.When legacy CAS policy is not enabled, assemblySecurity should be null.

지정된 어셈블리에 진입점이 없습니다.The specified assembly has no entry point.

예제

다음 예제에서는 오버 로드 중 하나를 사용 하 여 ExecuteAssembly 두 개의 서로 다른 도메인에 있습니다.The following sample demonstrates using one of the overloads of ExecuteAssembly on two different domains.

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 Test {
   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"
   }
}
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 'Main

End Module 'Test

설명

어셈블리는.NET Framework 헤더에 지정 된 진입점에서 실행을 시작 합니다.The assembly begins executing at the entry point specified in the .NET Framework header.

이 메서드는 새 프로세스 또는 애플리케이션 도메인을 만들지 않습니다 및 진입점 메서드를 새 스레드에서 실행 되지 않습니다.This method does not create a new process or application domain, and it does not execute the entry point method on a new thread.

이 메서드를 사용 하 여 어셈블리 로드를 LoadFile 메서드.This method loads assemblies using the LoadFile method. 사용 하 여 어셈블리를 실행할 수도 있습니다는 ExecuteAssemblyByName 메서드를 사용 하 여 어셈블리를 로드 하는 Load 메서드.You can also execute assemblies using the ExecuteAssemblyByName method, which loads assemblies using the Load method.

보안

SecurityPermission
증명 정보를 사용 하 여 어셈블리를 로드 합니다.to load an assembly with evidence. 연관된 열거형: ControlEvidenceAssociated enumeration: ControlEvidence.

FileIOPermission
파일이 나 디렉터리에서 읽고 경로 자체의 정보에 대 한 액세스에 액세스 합니다.for access to read from a file or directory, and for access to the information in the path itself. 연관 된 열거형: Read, PathDiscovery합니다.Associated enumerations: Read, PathDiscovery.

WebPermission
"file://"로 시작 하지 않는 URI를 읽는 합니다.for reading a URI that does not begin with "file://".

UIPermission
콘솔 애플리케이션을 실행 합니다.to execute a console application. 연관된 열거형: UnrestrictedAssociated enumeration: Unrestricted.

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

경고

이 API는 현재 사용되지 않습니다.

지정한 증명 정보 및 인수를 사용하여 지정한 파일에 포함된 어셈블리를 실행합니다.Executes the assembly contained in the specified file, using the specified evidence and arguments.

public:
 virtual int ExecuteAssembly(System::String ^ assemblyFile, System::Security::Policy::Evidence ^ assemblySecurity, cli::array <System::String ^> ^ args);
[System.Obsolete("Use an overload that does not take an Evidence parameter")]
[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
Public Function ExecuteAssembly (assemblyFile As String, assemblySecurity As Evidence, args As String()) As Integer

매개 변수

assemblyFile
String String String String

실행할 어셈블리가 포함된 파일 이름입니다.The name of the file that contains the assembly to execute.

assemblySecurity
Evidence Evidence Evidence Evidence

어셈블리에 제공된 증거입니다.The supplied evidence for the assembly.

args
String[]

어셈블리의 진입점에 대한 인수입니다.The arguments to the entry point of the assembly.

반환

어셈블리의 진입점에서 반환한 값입니다.The value returned by the entry point of the assembly.

구현

예외

assemblyFilenull인 경우assemblyFile is null.

assemblyFile가 없는 경우assemblyFile is not found.

assemblyFile는 유효한 어셈블리가 아닙니다.assemblyFile is not a valid assembly.

또는-or- 버전 2.0 이상의 공용 언어 런타임이 현재 로드되어 있으며 assemblyFile이 이후 버전으로 컴파일되었습니다.Version 2.0 or later of the common language runtime is currently loaded and assemblyFile was compiled with a later version.

언로드된 애플리케이션 도메인에서 작업이 시도됩니다.The operation is attempted on an unloaded application domain.

어셈블리 또는 모듈이 서로 다른 두 증명 정보로 두 번 로드되었습니다.An assembly or module was loaded twice with two different evidences.

assemblySecuritynull가 아닙니다.assemblySecurity is not null. 레거시 CAS 정책을 사용하지 않을 때는 assemblySecuritynull이 되어야 합니다.When legacy CAS policy is not enabled, assemblySecurity should be null.

지정된 어셈블리에 진입점이 없습니다.The specified assembly has no entry point.

예제

다음 예제에서는 오버 로드 중 하나를 사용 하 여 ExecuteAssembly 두 개의 서로 다른 도메인에 있습니다.The following sample demonstrates using one of the overloads of ExecuteAssembly on two different domains.

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 Test {
   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"
   }
}
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 'Main

End Module 'Test

설명

어셈블리는.NET Framework 헤더에 지정 된 진입점에서 실행을 시작 합니다.The assembly begins executing at the entry point specified in the .NET Framework header.

이 메서드는 새 프로세스 또는 애플리케이션 도메인을 만들지 않습니다 및 진입점 메서드를 새 스레드에서 실행 되지 않습니다.This method does not create a new process or application domain, and it does not execute the entry point method on a new thread.

이 메서드를 사용 하 여 어셈블리 로드를 LoadFile 메서드.This method loads assemblies using the LoadFile method. 사용 하 여 어셈블리를 실행할 수도 있습니다는 ExecuteAssemblyByName 메서드를 사용 하 여 어셈블리를 로드 하는 Load 메서드.You can also execute assemblies using the ExecuteAssemblyByName method, which loads assemblies using the Load method.

보안

SecurityPermission
증명 정보를 사용 하 여 어셈블리를 로드 합니다.to load an assembly with evidence. 연관된 열거형: ControlEvidenceAssociated enumeration: ControlEvidence.

FileIOPermission
파일이 나 디렉터리에서 읽고 경로 자체의 정보에 대 한 액세스에 액세스 합니다.for access to read from a file or directory, and for access to the information in the path itself. 연관 된 열거형: Read, PathDiscovery합니다.Associated enumerations: Read, PathDiscovery.

WebPermission
"file://"로 시작 하지 않는 URI를 읽는 합니다.for reading a URI that does not begin with "file://".

UIPermission
콘솔 애플리케이션을 실행 합니다.to execute a console application. 연관된 열거형: UnrestrictedAssociated enumeration: Unrestricted.

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

지정한 인수, 해시 값 및 해시 알고리즘을 사용하여 지정한 파일에 포함된 어셈블리를 실행합니다.Executes the assembly contained in the specified file, using the specified arguments, hash value, and hash algorithm.

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);
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 String String String

실행할 어셈블리가 포함된 파일 이름입니다.The name of the file that contains the assembly to execute.

args
String[]

어셈블리의 진입점에 대한 인수입니다.The arguments to the entry point of the assembly.

hashValue
Byte[]

계산된 해시 코드의 값을 나타냅니다.Represents the value of the computed hash code.

hashAlgorithm
AssemblyHashAlgorithm AssemblyHashAlgorithm AssemblyHashAlgorithm AssemblyHashAlgorithm

어셈블리 매니페스트에 사용되는 해시 알고리즘을 나타냅니다.Represents the hash algorithm used by the assembly manifest.

반환

어셈블리의 진입점에서 반환된 값입니다.The value that is returned by the entry point of the assembly.

예외

assemblyFilenull인 경우assemblyFile is null.

assemblyFile가 없는 경우assemblyFile is not found.

assemblyFile는 유효한 어셈블리가 아닙니다.assemblyFile is not a valid assembly.

또는-or- assemblyFile가 현재 로드된 버전보다 이후 버전의 공용 언어 런타임으로 컴파일되었습니다.assemblyFile was compiled with a later version of the common language runtime than the version that is currently loaded.

언로드된 애플리케이션 도메인에서 작업이 시도됩니다.The operation is attempted on an unloaded application domain.

어셈블리 또는 모듈이 서로 다른 두 증명 정보로 두 번 로드되었습니다.An assembly or module was loaded twice with two different evidences.

지정된 어셈블리에 진입점이 없습니다.The specified assembly has no entry point.

예제

다음 예제에서는 오버 로드 중 하나를 사용 하 여 ExecuteAssembly 두 개의 서로 다른 도메인에 있습니다.The following sample demonstrates using one of the overloads of ExecuteAssembly on two different domains.

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 Test {
   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"
   }
}
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 'Main

End Module 'Test

설명

어셈블리는.NET Framework 헤더에 지정 된 진입점에서 실행을 시작 합니다.The assembly begins executing at the entry point specified in the .NET Framework header.

이 메서드는 새 프로세스 또는 애플리케이션 도메인을 만들지 않습니다 및 진입점 메서드를 새 스레드에서 실행 되지 않습니다.This method does not create a new process or application domain, and it does not execute the entry point method on a new thread.

이 메서드를 사용 하 여 어셈블리 로드를 LoadFile 메서드.This method loads assemblies using the LoadFile method. 사용 하 여 어셈블리를 실행할 수도 있습니다는 ExecuteAssemblyByName 메서드를 사용 하 여 어셈블리를 로드 하는 Load 메서드.You can also execute assemblies using the ExecuteAssemblyByName method, which loads assemblies using the Load method.

보안

FileIOPermission
파일이 나 디렉터리에서 읽고 경로 자체의 정보에 대 한 액세스에 액세스 합니다.for access to read from a file or directory, and for access to the information in the path itself. 연관 된 열거형: Read, PathDiscovery합니다.Associated enumerations: Read, PathDiscovery.

WebPermission
"file://"로 시작 하지 않는 URI를 읽는 합니다.for reading a URI that does not begin with "file://".

UIPermission
콘솔 애플리케이션을 실행 합니다.to execute a console application. 연관된 열거형: UnrestrictedAssociated enumeration: Unrestricted.

ExecuteAssembly(String, Evidence) ExecuteAssembly(String, Evidence) ExecuteAssembly(String, Evidence) ExecuteAssembly(String, Evidence)

경고

이 API는 현재 사용되지 않습니다.

지정한 증명 정보를 사용하여 지정한 파일에 포함된 어셈블리를 실행합니다.Executes the assembly contained in the specified file, using the specified evidence.

public:
 virtual int ExecuteAssembly(System::String ^ assemblyFile, System::Security::Policy::Evidence ^ assemblySecurity);
[System.Obsolete("Use an overload that does not take an Evidence parameter")]
[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
Public Function ExecuteAssembly (assemblyFile As String, assemblySecurity As Evidence) As Integer

매개 변수

assemblyFile
String String String String

실행할 어셈블리가 포함된 파일 이름입니다.The name of the file that contains the assembly to execute.

assemblySecurity
Evidence Evidence Evidence Evidence

어셈블리 로드에 사용할 증명 정보입니다.Evidence for loading the assembly.

반환

어셈블리의 진입점에서 반환한 값입니다.The value returned by the entry point of the assembly.

구현

예외

assemblyFilenull인 경우assemblyFile is null.

assemblyFile가 없는 경우assemblyFile is not found.

assemblyFile는 유효한 어셈블리가 아닙니다.assemblyFile is not a valid assembly.

또는-or- 버전 2.0 이상의 공용 언어 런타임이 현재 로드되어 있으며 assemblyFile이 이후 버전으로 컴파일되었습니다.Version 2.0 or later of the common language runtime is currently loaded and assemblyFile was compiled with a later version.

언로드된 애플리케이션 도메인에서 작업이 시도됩니다.The operation is attempted on an unloaded application domain.

어셈블리 또는 모듈이 서로 다른 두 증명 정보로 두 번 로드되었습니다.An assembly or module was loaded twice with two different evidences.

지정된 어셈블리에 진입점이 없습니다.The specified assembly has no entry point.

예제

다음 예제에서는 오버 로드 중 하나를 사용 하 여 ExecuteAssembly 두 개의 서로 다른 도메인에 있습니다.The following sample demonstrates using one of the overloads of ExecuteAssembly on two different domains.

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 Test {
   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"
   }
}
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 'Main

End Module 'Test

설명

어셈블리는.NET Framework 헤더에 지정 된 진입점에서 실행을 시작 합니다.The assembly begins executing at the entry point specified in the .NET Framework header.

ExecuteAssembly 메서드는 새 프로세스 또는 애플리케이션 도메인을 만들지 않습니다 및 진입점 메서드를 새 스레드에서 실행 되지 않습니다.The ExecuteAssembly method does not create a new process or application domain, and it does not execute the entry point method on a new thread.

이 메서드를 사용 하 여 어셈블리 로드를 LoadFile 메서드.This method loads assemblies using the LoadFile method. 사용 하 여 어셈블리를 실행할 수도 있습니다는 ExecuteAssemblyByName 메서드를 사용 하 여 어셈블리를 로드 하는 Load 메서드.You can also execute assemblies using the ExecuteAssemblyByName method, which loads assemblies using the Load method.

보안

SecurityPermission
증명 정보를 사용 하 여 어셈블리를 로드 합니다.to load an assembly with evidence. 연관된 열거형: ControlEvidenceAssociated enumeration: ControlEvidence.

FileIOPermission
파일이 나 디렉터리에서 읽고 경로 자체의 정보에 대 한 액세스에 액세스 합니다.for access to read from a file or directory, and for access to the information in the path itself. 연관 된 열거형: Read, PathDiscovery합니다.Associated enumerations: Read, PathDiscovery.

WebPermission
"file://"로 시작 하지 않는 URI를 읽는 합니다.for reading a URI that does not begin with "file://".

UIPermission
콘솔 애플리케이션을 실행 합니다.to execute a console application. 연관된 열거형: UnrestrictedAssociated enumeration: Unrestricted.

ExecuteAssembly(String, String[]) ExecuteAssembly(String, String[]) ExecuteAssembly(String, String[]) ExecuteAssembly(String, String[])

지정한 인수를 사용하여 지정한 파일에 포함된 어셈블리를 실행합니다.Executes the assembly contained in the specified file, using the specified arguments.

public:
 int ExecuteAssembly(System::String ^ assemblyFile, cli::array <System::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 String String String

실행할 어셈블리가 포함된 파일 이름입니다.The name of the file that contains the assembly to execute.

args
String[]

어셈블리의 진입점에 대한 인수입니다.The arguments to the entry point of the assembly.

반환

어셈블리의 진입점에서 반환된 값입니다.The value that is returned by the entry point of the assembly.

예외

assemblyFilenull인 경우assemblyFile is null.

assemblyFile가 없는 경우assemblyFile is not found.

assemblyFile는 유효한 어셈블리가 아닙니다.assemblyFile is not a valid assembly.

또는-or- assemblyFile가 현재 로드된 버전보다 이후 버전의 공용 언어 런타임으로 컴파일되었습니다.assemblyFile was compiled with a later version of the common language runtime than the version that is currently loaded.

언로드된 애플리케이션 도메인에서 작업이 시도됩니다.The operation is attempted on an unloaded application domain.

어셈블리 또는 모듈이 서로 다른 두 증명 정보로 두 번 로드되었습니다.An assembly or module was loaded twice with two different evidences.

지정된 어셈블리에 진입점이 없습니다.The specified assembly has no entry point.

예제

다음 예제에서는 오버 로드 중 하나를 사용 하 여 ExecuteAssembly 두 개의 서로 다른 도메인에 있습니다.The following sample demonstrates using one of the overloads of ExecuteAssembly on two different domains.

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 Test {
   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"
   }
}
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 'Main

End Module 'Test

설명

어셈블리는.NET Framework 헤더에 지정 된 진입점에서 실행을 시작 합니다.The assembly begins executing at the entry point specified in the .NET Framework header.

이 메서드는 새 프로세스 또는 애플리케이션 도메인을 만들지 않습니다 및 진입점 메서드를 새 스레드에서 실행 되지 않습니다.This method does not create a new process or application domain, and it does not execute the entry point method on a new thread.

이 메서드를 사용 하 여 어셈블리 로드를 LoadFile 메서드.This method loads assemblies using the LoadFile method. 사용 하 여 어셈블리를 실행할 수도 있습니다는 ExecuteAssemblyByName 메서드를 사용 하 여 어셈블리를 로드 하는 Load 메서드.You can also execute assemblies using the ExecuteAssemblyByName method, which loads assemblies using the Load method.

보안

FileIOPermission
파일이 나 디렉터리에서 읽고 경로 자체의 정보에 대 한 액세스에 액세스 합니다.for access to read from a file or directory, and for access to the information in the path itself. 연관 된 열거형: Read, PathDiscovery합니다.Associated enumerations: Read, PathDiscovery.

WebPermission
"file://"로 시작 하지 않는 URI를 읽는 합니다.for reading a URI that does not begin with "file://".

UIPermission
콘솔 애플리케이션을 실행 합니다.to execute a console application. 연관된 열거형: UnrestrictedAssociated enumeration: Unrestricted.

ExecuteAssembly(String) ExecuteAssembly(String) ExecuteAssembly(String) ExecuteAssembly(String)

지정한 파일에 포함된 어셈블리를 실행합니다.Executes the assembly contained in the specified file.

public:
 virtual int ExecuteAssembly(System::String ^ assemblyFile);
public int ExecuteAssembly (string assemblyFile);
abstract member ExecuteAssembly : string -> int
override this.ExecuteAssembly : string -> int
Public Function ExecuteAssembly (assemblyFile As String) As Integer

매개 변수

assemblyFile
String String String String

실행할 어셈블리가 포함된 파일 이름입니다.The name of the file that contains the assembly to execute.

반환

어셈블리의 진입점에서 반환한 값입니다.The value returned by the entry point of the assembly.

구현

예외

assemblyFilenull인 경우assemblyFile is null.

assemblyFile가 없는 경우assemblyFile is not found.

assemblyFile는 유효한 어셈블리가 아닙니다.assemblyFile is not a valid assembly.

또는-or- 버전 2.0 이상의 공용 언어 런타임이 현재 로드되어 있으며 assemblyFile이 이후 버전으로 컴파일되었습니다.Version 2.0 or later of the common language runtime is currently loaded and assemblyFile was compiled with a later version.

언로드된 애플리케이션 도메인에서 작업이 시도됩니다.The operation is attempted on an unloaded application domain.

어셈블리 또는 모듈이 서로 다른 두 증명 정보로 두 번 로드되었습니다.An assembly or module was loaded twice with two different evidences.

지정된 어셈블리에 진입점이 없습니다.The specified assembly has no entry point.

예제

다음 예제에서는 오버 로드 중 하나를 사용 하 여 ExecuteAssembly 두 개의 서로 다른 도메인에 있습니다.The following sample demonstrates using one of the overloads of ExecuteAssembly on two different domains.

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 Test {
   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"
   }
}
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 'Main

End Module 'Test

설명

어셈블리는.NET Framework 헤더에 지정 된 진입점에서 실행을 시작 합니다.The assembly begins executing at the entry point specified in the .NET Framework header.

이 메서드는 새 프로세스 또는 애플리케이션 도메인을 만들지 않습니다 및 진입점 메서드를 새 스레드에서 실행 되지 않습니다.This method does not create a new process or application domain, and it does not execute the entry point method on a new thread.

이 메서드를 사용 하 여 어셈블리 로드를 LoadFile 메서드.This method loads assemblies using the LoadFile method. 사용 하 여 어셈블리를 실행할 수도 있습니다는 ExecuteAssemblyByName 메서드를 사용 하 여 어셈블리를 로드 하는 Load 메서드.You can also execute assemblies using the ExecuteAssemblyByName method, which loads assemblies using the Load method.

만들려는 합니다 AppDomain 로드 하 고 실행 하려면를 CreateDomain 메서드.To create the AppDomain to load and execute, use the CreateDomain method.

보안

FileIOPermission
파일이 나 디렉터리에서 읽고 경로 자체의 정보에 대 한 액세스에 액세스 합니다.for access to read from a file or directory, and for access to the information in the path itself. 연관 된 열거형: Read, PathDiscovery합니다.Associated enumerations: Read, PathDiscovery.

WebPermission
"file://"로 시작 하지 않는 URI를 읽는 합니다.for reading a URI that does not begin with "file://".

UIPermission
콘솔 애플리케이션을 실행 합니다.to execute a console application. 연관된 열거형: UnrestrictedAssociated enumeration: Unrestricted.

적용 대상