A user control lives as an ASCX file in the web project so it wouldn't normally be used in a compiled control. However... you could create an instance of such a control. The Page class has a method 'LoadControl' which takes a file as an argument. This will load an instance of a control that you could then add to a controls collection inside your custom control. Keep in mind however, that you will run into a potential problem with this: if the compiled control is in a different assembly and you need to reference the class type that represents the user control (the code behind the ASCX) you'll end up with a circular reference. Also in my opinion, by doing this you are kind of breaking the rules of building a custom server control by making it dependant on an external resource that you can't directly supply. The consumer of the custom control will have to have the user control file in their web project.