I've just created an MVC project using the .NET 4.5 framework with controllers in a separate class library.
I had previously thought that if the controllers are in separate class library you need to create a custom controller factory as discussed in this SO post. However, my controllers are being instantiated and are working fine without having to do this.
How does the framework (the newer ones at least) know to use the controllers in the separate class libary without being told to do so? All I needed to do was add a reference to the controllers project.