Despite having Visual Studio, working with an SCC system doesn't come without some planning and caveats. We will discuss them next.
Generally, when you're working with SCC, the source code in the repository is in a state that builds (for example, a commit could "break the build"). This, of course, assumes that everything the build needs to run is actually in source code control, and referenced in the same structure that it is in source control. One of the biggest issues with users of SCC is that what the user has on their local system builds fine, but if someone else clones or fetches everything from SCC it doesn't build.
The biggest culprit for build errors like this has been that some dependencies, like libraries or frameworks, are missing. To a certain extent, there are dependencies we are not capable of storing in SCC. You can't store whether a development environment works in Windows, Linux, or some other operating system...