AL.exe use a program to generate an EXE file or DLL PE file (which contains only a list of the types that are described in other modules).
Do not compile in a normal command-line window, first open C:\ProgramData\Microsoft\Windows\Start Menu\Programs\Microsoft Visual Studio 2010\visual Studio Tools path, under Visual Studio command Prompt (2010), enter the command in this window.
To give a simple example
Csc/t:module RUT.cs
Csc/t:module FUT.cs
Al/out:jefftypes.dll/t:library Fut.netmodule Rut.netmodule
Executes the file generated by the preceding statement.
This example first created two separate modules, namely Fut.netmodule and Rut.netmodule. None of the two modules are assemblies because they do not contain a manifest metadata table. It then generates a third file, JeffTypes.dll, which is a small DLL PE file (because the/t:library switch is used), which does not contain the IL code, but contains the manifest metadata table, which states that Fut.netmodule and Rut.netmodule is part of the assembly. The final assembly is comprised of three files: Jefftypes.dll,fut.netmodule,rut.netmodule. AL.exe cannot combine multiple files into one file.
Assembly Linker (AL.exe)