tl;dr if you have a repo that doesn’t have a solution, don’t worry. You can still use File – Open – File to open files associated with the repo and Team Explorer will still track those files the same as if a solution were open.
P.S. I’m writing these tips for VS 2015. I’ll need to update for Visual Studio 2017.
For all my adult life (minus 2 years), the Solution file was your go-to starting point in Visual Studio. Even if you create a new text file via File – New – File, Visual Studio creates a new Solution nevertheless.
It’s almost like Visual Studio has a Solution that’s in search of a problem.
Can’t believe I’ve never thought of that one before… Anyways…
Repos that do not contain a Solution
If you open a repo that doesn’t have a solution in it, you’ll see the following:
You can still go to File – Open – File and open files that are associated with that repo. In fact, File – Open – File will open to that repo’s folder.
Opening a different Solution when Team Explorer is connected
A solution will always take precedence over a repo opened in Team Explorer.
For example, in the previous screenshot, I have a repo named “amend” that’s open, but this repo doesn’t a Solution. If I open a different solution that does not contain a repo, you’ll see that Team Explorer goes offline.
I guess this is Team Explorer’s way of saying, “Hey Look, I don’t want you to get confused which solution is tied to which repo.”
Switching to a different Repo with a Solution Open
Now having said that, let’s suppose I’m connected to a repo that has a solution, let’s say some ConsoleApplication54 project (you know you have them!) and you have the ConsoleApplication54 solution opened.
If you switch repos (via Team Explorer – Manage Connections) to any other repo, regardless whether it has a solution file opened, you’ll be in an odd state. On one hand you’ll have a solution opened, but Team Explorer will be tracking changes for an entirely different repo. This is the state you couldn’t get in to in the previous section.
It’s almost like a Game of Thrones battle (or so I’m told – haven’t seen or read yet) being played out inside the IDE: solutions vs repos.