73
votes

I added a project to an existing solution that is currently under source control using TFS, but for some reason I cannot check in the new project. When I view my pending changes, none of the files in the new project show up. None of the files have a plus (for a new file) next to them. What did I do wrong? How do I fix it? It's time to check in.

8
I've had this happen a few times. Currently with a setup project that has been renamed. Don't know how to fix it though, I'll try the below suggestions.Jason Kleban

8 Answers

105
votes

The problem is the solution has lost its binding. That's why it's not checking out automatically when you add the new project.

In order to restore the binding in VS 2010, go to File->Source Control->Change Source Control. Look for the "Solution: your solution name" and if it's not bound it will say "no server". Click on it and then click "Bind" from the toolbar.

in Visual Studio 2012/2013 it's File->Source Control->Advanced->Change Source Control (Thanks to danglund).

This should create a new vssscc file that is correctly bound. Now add the new project and everything should work correctly.

53
votes

I was also having the same problem, this is how I fixed it:

Go to Visual Studion: File->Source Control->Change Source Control Find your project there, its status would be "Invalid", Click on it and press "Unbind". Now go back to Solution Explorer and Remove your project. Add this project again into the solution explorer solve the problem.

Good Luck!

10
votes
  1. Click on the Team Project name in Source Control Explorer
  2. File -> Source Control -> Add Items to Folder...
  3. Follow the wizard.
2
votes

Head over to Source Control Explorer and browse to the place in the tree which matches where the new project is at for your solution. Add the files there.

However, I'd be concerned that you modified the solution file and it didn't ask you to check that out. What you may want to try doing is manually checking out the solution file, then readding the project to the solution and seeing if it takes then.

You shouldn't need to drop to the command line - this is a pretty straightforward operation.

1
votes

Open the solution. Select the project (make sure it is in the solution).

File -> Source Control -> Properties will bring up the binding dialog.

Bind the project to source control.

You should now see + signs next to all your files. The key is that that a .vssscc is added for your project to version control.

If that fails, open your csproj in notepad (after making a backup), and ensure any version control bindings are removed, then try again.

0
votes

Unfortunately, I'd wager that your best bet is to manually do the check-ins through the command line. I've ran into situations where the Team Explorer UI grows out of sync with what's actually happening in source control, and manually fixing things through tf.exe was the only way to resolve it.

That said, normally, adding a new project to a solution isn't a hassle.

0
votes

TFS can simply do not know about your project existed. Just add your project files through Source Control Explorer and re-load the solution.

While loading of a solution it can ask you to bind your project to source control. Let it do so by clicking Bind button - it should do all the magic for you.

0
votes
  • Make sure you get the latest version of the solution
  • Check out the solution file
  • Add the new project

If the newly added project was previously under (another) source control, that might mess things up, make sure to "unbind" it before adding it. (See source control bindings somewhere under the "file" menu in Visual Studio)

You shouldn't need the command line.