title: Refactoring for DI on large projects
body: <p>I work on a large scale platform project supporting around 10 products that use our code.</p>
  
  <p>So far, all of the products have been using the full functionality of our platform:<br>
  
  - Retrieval of configuration data from a database<br>
  - Remote file system access<br>
  - Security authorization<br>
  - Base logic (the thing we are paid to offer)  </p>
  
  <p>For a new product we've been asked to support a smaller subset of functionality without the  infrastructure the platforms bring along. Our architecture is old (start of coding from 2005 or so) but reasonably solid.</p>
  
  <p>We're confident we can do that using DI on our existing classes, but the estimated times to do so range from 5 to 70 weeks depending who you talk to.</p>
  
  <p>There's a lot of articles out there that tell you how to do DI, but I coulnd't find any that tell you how to refactor for DI in the most efficient way? Are there tools that do this rather than having to go through 30.000 lines of code and having to hit CTRL+R for extacting interfaces and adding them to construcors too many times? (we have resharper if that helps) If not, what do you find is the ideal workflow to quickly achieve this?</p>