We are using Visual Studio 2010 and have many C# projects on the Team Foundation Server, which depend on (have project references to) each other. For some projects, we would like to be able to check them out and have all their dependencies automatically checked out as well. It should be as simple as possible to check out the project, compile it and run the application. However we do not want to check out the complete source code repository: only the necessary subset required to compile the specific project.
In Eclipse we use Team Project Set files for that, but I have not found any Visual Studio alternative to this feature.
The motivation for this is the following: it should be possible for every developer to switch context easily and start working as quickly as possible. Suppose a new developer is joining the project. If he is using Eclipse, I would send him the Project Set File, which he will import into his workspace and immediately have all the projects he needs checked out. Ideally, if everything goes well, the workspace is compiled, he hits the “Run”-button and the application runs. But how can this scenario be realized in Visual Studio?
Any suggestions?
I haven’t used that feature of Eclipse, but it sounds like the Visual Studio equivalent of that is a solution. A solution is a container for projects, which can depend on each other, build in the proper order, and can get a set of configuration settings all working together. This permits the “Release” configuration of the solution to cause the “Release” configuration of all the projects to be built.
Also, by opening the solution from source control, you’ll be getting all the projects in the solution from source control as well.