115
votes

I have a solution with 10+ projects (VS2010 SP1). I have the following configurations defined in the solution:

  • Debug
  • Debug-QA
  • Release-UAT
  • Release-Production

This allows me to easily setup specific settings for each deployment scenario. However, for some reason I can't get things setup as I'd like. Please see this screenshot:

Screenshot of Configuration Manager

Notice the highlighted projects/configurations. I am unable to create a "Debug-QA" configuration for these projects (by selecting <New> in the cell for that particular project). When I try to add a new "Debug-QA" configuration to the DataUtility project, for instance, Visual Studio yells at me:

This configuration could not be created because a solution configuration of the same name already exists.

I know it does! I'm trying to add the configuration to the project! What am I missing here? I want all projects to have all 5 configuration. I have the same problem when trying to match up (create) platforms (for instance, adding an "Any CPU" platform to the DataUtility project).

3
How are you trying to add the configuration to the project? Are you adding a new configuration from the drop down list in the grid, or from the drop down list up top (in your screenshot)? If you do it in the grid it should be ok.Adam Plocher
@AdamPlocher: From the drop-down in the grid for the specific project.Josh M.
Are you checking the "Create new solution configurations" checkbox? Leave it unchecked.Adam Plocher
@AdamPlocher: What a moron I am. Man, I didn't even notice that - how obvious. Please submit that as your answer and I'll accept. Thanks!Josh M.

3 Answers

258
votes

Make sure you're using the drop down list from the grid (not the one at the top of the dialog), and do not check the "Create new solution configurations" checkbox when adding your new project configuration.

2
votes

Here's a workaround if already checked the Create new solution configurations checkbox:

  1. Open Explorer and navigate to the location of the solution for the project that is missing platforms.
  2. Move the solution .sln file to a temorary location where Visual Studio won't locate it.
  3. Open the .csproj file for the project that is missing platforms.
  4. Click the Solutions Platform dropdown.
  5. Click Configuration Manager...
  6. In the table, Click the dropdown in the Platform column for the project and select , to add a new platform.
  7. Click OK.
  8. Repeat adding new platforms as needed.
  9. Save the project.
  10. Return the previously moved solution file back to where it was.
  11. Reopen the combined project solution.

source: https://developercommunity.visualstudio.com/content/problem/972/adding-a-platform-when-one-with-the-same-name-alre.html

0
votes

The above solution didn't quite work, but I did find a solution on a forum that worked. Described below is to set the builds to x64 for each project that was set to "Any CPU", but the steps would also work for x86.

  1. Open the main solution. Unload each project with a conflict (not remove).

  2. Leave the solution open.

  3. In Explorer, navigate to the project folders and open the csproj file in Visual Studio.

  4. In this screwed up project, navigate to Build->Configuration Manager.

  5. If needed, "Add New" and set it to x64 and save.

  6. Right-click the project and set the build architecture to the new x64.

  7. Save this, but when you close the project in VS, do not save to the solution. That's unnecessary.

  8. Repeat for each project with a misaligned architecture.

  9. Finally, in the original solution with all the offending projects, reload each project.

  10. Open the Build->Configuration Manager for the solution. Then, one by one, reset "Any CPU" to the desired platform, in my case x64.

Save the changes for the solution and rebuild all. You should be OK, now.

enter image description here