I have a rather involved Visual Studio solution (2010, but it shouldn't matter) that I need to rename.
I want to rename the folders to match the new solution name, but I can't figure out a way to refactor the folder names automatically, and going through every single project file will be painful.
Is there an official way to do this? Alternatively (and much less preferably), are there free tools to accomplish this?
Best Answer
Manually edit .sln file
This method is entirely aimed at renaming the directory for the project, as viewed in Windows Explorer.
This method does not suffer from the problems in the Remove/add project file method below (references disappearing), but it can result in problems if your project is under source control (see notes below). This is why step 2 (backup) is so important.
Project1
toProject2
.Project1
toProject2
using Windows Explorer.Project1
toProject2
using the functions supplied by source control. This preserves the history of the file. For example, withTortoiseSVN
, right click on the file, selectTortoiseSVN .. Rename
.Project1
to beProject2
, using a text editor like NotePad.You can also see renaming solution manually or post which describes this manual process.
Advantages
Warnings
Update 2014-11-02
ReSharper has added an automated method for achieving the same result as the manual method above. If the namespace is underlined with a squiggly blue line, click on the action pyramid icon to either:
In the second case, the final word defines the new directory name in Windows Explorer, e.g. if we changed the namespace to
ViewModel2
, it would offer to move the file to folderViewModel2
.However, this will not necessarily update files in source control, so you may still have to use the manual method.
Update 2018-01-31
Tested with Visual Studio 2008, 2010, 2012, 2013, 2015, 2017 Update 1, 2, 3, 4, 5.
Update 2020-05-02
Tested with Visual Studio 2019.