title: Maintaining two versions of the same framework and application
body: <p>We have a framework created in .NET which controls hardware devices.
  The entire framework uses MEF so it relies heavily on interfaces.</p>
  
  <p>For reasons beyond our control we had to change the hardware and that
  required some breaking changes to some of the interfaces.</p>
  
  <p>The project for the old hardware was put on hold for a while and we started
  working on a graphical application which uses the new version of the framework.</p>
  
  <p>Now, much later, they want us to support the old hardware again, so we're thinking
  of backporting the existing graphical application to use the old framework and maintain two versions.</p>
  
  <p>The framework is one Visual Studio solution with multiple projects,
  and the graphical application is another Visual Studio solution with a few projects.</p>
  
  <p>Some parts (projects in the framework solution) did not rely on changed interfaces, others did.</p>
  
  <p>For source control we have a subversion repository.</p>
  
  <p>Has anybody had any experience with managing something like this?
  Are there any best practices? Suggestions? </p>