views:

113

answers:

1

All the refactoring tools for C# and VB.Net that I have seen only consider the source code in a single visual studio solution.

For better or worse, our large (many related programs) system is spread over many solution files, however:

  • All the code is below a single windows folder.
  • Our nAnt based build system, builds all files in a windows folder to produce a single dll (bit more complex then this but not important for this question).
  • Therefore ALL “.cs” and “.vb” files below the single root folder are part of the system.

So I am looking for refactoring and reverse engineering tools that take a single folder as input and act on all files below that folder.

(The tools may need some help to decide what “public” and “internal” means, however most of the time “internal” means “in the same code tree” when a “code tree” is a folder that contains code and any child folders.)


Now I am being greedy, I would like the tools to create a lot of all the refactorings that have been done and to be able to replay the refactorings. Then I could try out ideal and if they work, throw away my code, get the latest code, you do the refactorings and checkin the code before anyone else changes the files. (Likewise for when branches need merging)

+2  A: 

In the past I have done what Pratik has suggested and pulled all projects into a single solution just for the purposes of refactoring. Then personally I would use Resharper every time.

David Ward
Given that most dlls are referenced from the "s drive" rather then with project reference does this work without changing all the projects to reference each other directly? (Even worse the projects don’t output to the “s drive”, you are mend to copy the dlls to it from the last official build - that is done with ants and is only done when a “story” is completed!)
Ian Ringrose
Will Resharper code with refactoring across VB.NET AND C# code, it is common for a class to be defined in one "world" then used in the other.
Ian Ringrose
David Ward