다음을 통해 공유


AssemblyBuilder 클래스

동적 어셈블리를 정의하고 나타냅니다.

네임스페이스: System.Reflection.Emit
어셈블리: mscorlib(mscorlib.dll)

구문

‘선언
<ComVisibleAttribute(True)> _
<ClassInterfaceAttribute(ClassInterfaceType.None)> _
Public NotInheritable Class AssemblyBuilder
    Inherits Assembly
    Implements _AssemblyBuilder
‘사용 방법
Dim instance As AssemblyBuilder
[ComVisibleAttribute(true)] 
[ClassInterfaceAttribute(ClassInterfaceType.None)] 
public sealed class AssemblyBuilder : Assembly, _AssemblyBuilder
[ComVisibleAttribute(true)] 
[ClassInterfaceAttribute(ClassInterfaceType::None)] 
public ref class AssemblyBuilder sealed : public Assembly, _AssemblyBuilder
/** @attribute ComVisibleAttribute(true) */ 
/** @attribute ClassInterfaceAttribute(ClassInterfaceType.None) */ 
public final class AssemblyBuilder extends Assembly implements _AssemblyBuilder
ComVisibleAttribute(true) 
ClassInterfaceAttribute(ClassInterfaceType.None) 
public final class AssemblyBuilder extends Assembly implements _AssemblyBuilder

설명

동적 어셈블리는 Reflection.Emit API를 사용하여 만든 어셈블리를 말하며, 동적 어셈블리가 Save 메서드를 통해 저장될 때 해당 어셈블리에 들어 있는 동적 모듈도 저장됩니다. 실행 파일을 생성하려면 SetEntryPoint 메서드를 호출하여 모듈의 진입점 메서드를 지정해야 합니다. SetEntryPoint에서 콘솔 응용 프로그램 또는 Windows 기반 응용 프로그램 생성을 요청하는 경우를 제외하면 어셈블리는 기본적으로 DLL로 저장됩니다.

동적 어셈블리에 둘 이상의 동적 모듈이 들어 있는 경우 어셈블리의 매니페스트 파일 이름은 DefineDynamicModule에 대한 첫 번째 인수로 지정된 모듈의 이름과 일치해야 합니다.

GetModulesGetLoadedModules 같이 기본 클래스 Assembly의 일부 메서드는 AssemblyBuilder 개체를 호출할 때 제대로 동작하지 않습니다. 정의된 동적 어셈블리를 로드하고 로드된 어셈블리에서 메서드를 호출할 수 있습니다. 예를 들어 반환된 모듈 목록에 리소스 모듈을 포함시키려면 로드된 Assembly 개체에서 GetModules를 호출합니다.

KeyPair를 사용한 동적 어셈블리 서명은 어셈블리를 디스크에 저장해야만 유효합니다. 따라서 임시 동적 어셈블리에서는 강력한 이름을 사용할 수 없습니다.

.NET Framework 보안

상속 계층 구조

System.Object
   System.Reflection.Assembly
    System.Reflection.Emit.AssemblyBuilder

스레드로부터의 안전성

이 형식의 모든 public static(Visual Basic의 경우 Shared) 멤버는 스레드로부터 안전합니다. 인터페이스 멤버는 스레드로부터 안전하지 않습니다.

플랫폼

Windows 98, Windows 2000 SP4, Windows Millennium Edition, Windows Server 2003, Windows XP Media Center Edition, Windows XP Professional x64 Edition, Windows XP SP2, Windows XP Starter Edition

.NET Framework에서 모든 플래폼의 모든 버전을 지원하지는 않습니다. 지원되는 버전의 목록은 시스템 요구 사항을 참조하십시오.

버전 정보

.NET Framework

2.0, 1.1, 1.0에서 지원

참고 항목

참조

AssemblyBuilder 멤버
System.Reflection.Emit 네임스페이스