I just did this today, and it actually didn’t take long. I inherited a project, and the source code did not come with it. It’s a side project, not at my company, but I originally thought that I might have to start from scratch. Normally, I probably would have, but by using Reflector I was able to leverage many of the existing objects. The project is a web site with SQL Server behind it, and there are several controls that pull and display data from the website. After putting my new website framework in place (EZWeb), I made plugins (user controls that are dynamically loaded) to house the existing controls. I made a template (a user controls that works with my master page controls) to mimick the look of the original site. Then I added the individual controls to my plugins. Even when I received errors, I was able to use Reflector to drill down the call stack and figure out what was going wrong. Now, I have the site on my EZWeb framework while leveraging the existing code. It will be very easy to extend the site from here in the new direction, and I didn’t have to start from scratch.
Scott, if you’re reading this, yes, it’s what you’re thinking of.