Renaming / moving projects and solutions in BIDS

Something that has annoyed me plenty in the past but I’ve never bothered to figure it out properly, well it happened to me again today so I though I should put it to bed once and for all.

Lets say you create an SSIS project in BIDS, play with it for a bit, then decide you need another project in that solution – So you add your project and find your solution is named after your first project.

Renaming the solution in BIDS is easy – The problem is if you look in windows explorer the main folder for your solution is also named after your first project – You want to change this to match the new name of you solution.

So you rename the folder in windows explorer and suddenly you can’t open your projects in BIDS anymore – It doesnt know where they are any more.

The trick is to edit the .sln file for the solution in notepad – You will need to change the file to not be read only first (I also ran notepad as admin for good measure).

Once in notepad you will see a couple of places where you need to change the path to match your new folder name (see example below)

Make the changes to reflect what is now the case (ie what you see in windows explorer) – Save the file, then re-open in BIDS and all should be good with the world!
Microsoft Visual Studio Solution File, Format Version 9.00
# Visual Studio 2005
Project(“{D183A3D8-5FD8-494B-B014-37F57B35E655}”) = “xLoadLoad”, “xLoadLoad\xLoadLoad.dtproj”, “{84171A3D-08EF-4E73-B60A-7EBA421F58EE}”
EndProject
Project(“{D183A3D8-5FD8-494B-B014-37F57B35E655}”) = “xDWHLoad”, “xDWHLoad\xDWHLoad.dtproj”, “{90639253-2455-4D72-9C2A-269F6C259E2A}”
EndProject
Project(“{D183A3D8-5FD8-494B-B014-37F57B35E655}”) = “xStageLoad”, “xStageLoad\xStageLoad.dtproj”, “{75B18651-AEA6-41B8-BE5B-7B351FEBD1DC}”
EndProject
Global
GlobalSection(TeamFoundationVersionControl) = preSolution
SccNumberOfProjects = 4
SccEnterpriseProvider = {4CA58AB2-18FA-4F8D-95D4-32DDF27D184C}
SccTeamFoundationServer = xxx
SccLocalPath0 = .
SccProjectUniqueName1 = xDWHLoad\\xDWHLoad.dtproj
SccProjectName1 = xDWHLoad
SccLocalPath1 = xDWHLoad
SccProjectUniqueName2 = xStageLoad\\xStageLoad.dtproj
SccProjectName2 = xStageLoad
SccLocalPath2 = xStageLoad
SccProjectUniqueName3 = xLoadLoad\\xLoadLoad.dtproj
SccProjectName3 = xLoadLoad
SccLocalPath3 = xLoadLoad
EndGlobalSection
GlobalSection(SolutionConfigurationPlatforms) = preSolution
Development|Default = Development|Default
EndGlobalSection
GlobalSection(ProjectConfigurationPlatforms) = postSolution
{84171A3D-08EF-4E73-B60A-7EBA421F58EE}.Development|Default.ActiveCfg = Development
{84171A3D-08EF-4E73-B60A-7EBA421F58EE}.Development|Default.Build.0 = Development
{90639253-2455-4D72-9C2A-269F6C259E2A}.Development|Default.ActiveCfg = Development
{90639253-2455-4D72-9C2A-269F6C259E2A}.Development|Default.Build.0 = Development
{75B18651-AEA6-41B8-BE5B-7B351FEBD1DC}.Development|Default.ActiveCfg = Development
{75B18651-AEA6-41B8-BE5B-7B351FEBD1DC}.Development|Default.Build.0 = Development
EndGlobalSection
GlobalSection(SolutionProperties) = preSolution
HideSolutionNode = FALSE
EndGlobalSection
EndGlobal

No credits for this one as I worked it out myself 😀