“程序集链接器”是指从一个或多个文件(可以是模块,也可以是资源文件)生成一个带有程序集清单的文件。模块是不含程序集清单的“Microsoft 中间语言”(MSIL) 文件。
命令格式:al sources options
参数说明
您可以指定以下一个或多个 sources。
源
file[,target]
将 file(模块)的内容复制到 target 指定的文件名。复制后,Al.exe 将 target 编译为程序集。
/embed[resource]:file[,name[,private]]
将 file 指定的资源嵌入到包含程序集清单的映像中;Al.exe 将 file 的内容复制到可移植可执行 (PE) 映像中。
name 参数是资源的内部标识符。默认情况下,资源在程序集中是公共的(对于其他程序集可见)。指定 private 会使该资源对于其他程序集不可见。
例如,如果 file 是由 资源文件生成器 (Resgen.exe) 创建或在开发环境中创建的 .NET Framework 资源文件,则可使用 System.Resources 命名空间的成员来访问它。有关更多信息,请参见 System.Resources.ResourceManager 类。对于所有其他资源,请使用 System.Reflection.Assembly 类中的 GetManifestResource* 方法在运行时访问资源。
如果只将资源文件传递给 Al.exe,则输出文件会是附属资源程序集。
/link[resource]:file[,name[,target[,private]]]
将资源文件链接到程序集。file 指定的资源成为程序集的组成部分;不复制该文件。file 参数可以是任何文件格式。例如,可以指定本机 DLL 作为 file 参数。这将使本机 DLL 成为程序集的组成部分,从而可将它安装到全局程序集缓存中,并且可以通过该程序集中的托管代码访问它。也可以通过使用 /linkresource 编译器选项实现该目的。有关更多信息,请参见 /linkresource(链接到 .NET Framework 资源)(C# 编译器选项)。
name 参数是资源的内部标识符。target 参数指定 Al.exe 将 file 复制到其中的路径和文件名。复制后,Al.exe 将 target 编译为程序集。默认情况下,资源在程序集中是公共的(对于其他程序集可见)。指定 private 会使该资源对于其他程序集不可见。
例如,如果 file 是由资源文件生成器 (Resgen.exe) 创建或在开发环境中创建的 .NET Framework 资源文件,则可使用 System.Resources 命名空间中的成员来访问它。有关更多信息,请参见 System.Resources.ResourceManager。对于所有其他资源,请使用 System.Reflection.Assembly 类中的 GetManifestResource* 方法在运行时访问资源。
如果只将资源文件传递给 Al.exe,则输出文件会是附属资源程序集。
您可以指定以下“选项”;请注意,必须指定 /out。