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

备注

动态程序集是用反射发出 API 创建的程序集。当使用 Save 方法保存动态程序集时,将保存程序集中的动态模块。若要生成可执行文件,必须调用 SetEntryPoint 方法以标识作为程序集入口点的方法。默认情况下,程序集保存为 DLL,除非 SetEntryPoint 请求生成控制台应用程序或基于 Windows 的应用程序。

如果动态程序集包含多个动态模块,则该程序集的清单文件名应匹配作为 DefineDynamicModule 的第一个参数来指定的模块名称。

AssemblyBuilder 对象调用时,基类 Assembly 的一些方法(如 GetModulesGetLoadedModules)将不能正常工作。可以加载定义的动态程序集并对加载的程序集调用这些方法。例如,若要确保资源模块包括在返回的模块列表内,请对加载的 Assembly 对象调用 GetModules

使用 KeyPair 的动态程序集签名直到该程序集保存到磁盘后才生效。所以,强名称对瞬态动态程序集无效。

.NET Framework 安全性

继承层次结构

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

线程安全

此类型的任何公共静态(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 命名空间