26.04.2015 Views

Team Development with Visual Studio Team Foundation Server

Team Development with Visual Studio Team Foundation Server

Team Development with Visual Studio Team Foundation Server

SHOW MORE
SHOW LESS

Create successful ePaper yourself

Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.

configurations (debug/release) synchronized, and to track versioning to<br />

determine when projects need to be rebuilt. Try to minimize the number of<br />

cross-solution project references.<br />

• Consider source sharing. Place projects that share the same source in the same<br />

solution.<br />

• Consider team structure. Structure your solutions to make it easy for teams to<br />

work on a set of related projects together.<br />

• Keep a flat project structure so that it is easy for you to group projects into solutions<br />

<strong>with</strong>out needing to make file system or source control folder structure changes.<br />

Single Solution<br />

If you work on a small system, consider using a single <strong>Visual</strong> <strong>Studio</strong> solution to contain<br />

all of your projects. This structure simplifies development because all of the code is<br />

available when you open the solution. This strategy also makes it easy to set up<br />

references, because all references are between projects in your solution. You might still<br />

need to use file references to reference third-party assemblies, such as purchased<br />

components, that are outside your solution. Figure 3.1 shows the single solution<br />

approach.<br />

Figure 3.1 Single Solution Approach<br />

The main reasons to choose this structure include:<br />

• You can keep build scripts simple.<br />

• You can easily map dependencies across projects <strong>with</strong>in the solution.<br />

You should use this structure if all developers use the same solution and have the same<br />

set of projects. This could be a problem for large systems where you want to organize<br />

projects by sub-system or feature.<br />

Partitioned Solution<br />

If you work on a large system, consider using multiple solutions, each representing a subsystem<br />

in your application. These solutions can be used by developers in order to work

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!