A user control is compiled at run time. When the compiler finds the register directive in a .aspx page that points to a user control, it compiles the control before it inserts its content into the .aspx page. The customer controls are compiled as DLL files.