Why do you need a different contract name? Instead you could just control conditionally register in the catalog the one that is needed based on the debug setting. Instead of using an AssemblyCatalog, use a TypeCatalog and filter all the types off of the assembly.