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

You also want an ePaper? Increase the reach of your titles

YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.

parts of the system <strong>with</strong>out having to load all code across all projects. You should design<br />

your solution structure so that any projects that have dependencies are grouped together.<br />

This enables you to use project references rather than file references. Consider creating a<br />

master solution file that contains all of the projects, if you want to use this to build the<br />

entire application.<br />

Note: If you are building <strong>with</strong> <strong>Team</strong> Build (which relies upon MSBuild), it is possible to<br />

create solution structures that do not include all referenced projects. As long as the entire<br />

solution has been built first, generating the binary output from each solution, MSBuild<br />

will be able to follow project references outside the bounds of your solution and build<br />

successfully. Solutions created in this way will not build from the <strong>Visual</strong> <strong>Studio</strong> build<br />

command, but will only work <strong>with</strong> <strong>Team</strong> Build and MSBuild.<br />

Additional Resources<br />

• For more information, see “Chapter 3 – Structuring Projects and Solutions in Source<br />

Control” in this guide.<br />

Use a Multiple-Solution Strategy if You Are Working on a Very Large<br />

<strong>Team</strong> Project That Requires Many Dozens of Independent Sub-Projects<br />

If you work on a very large solution requiring many dozens of projects, you may run up<br />

against solution scalability limits. In this scenario, break your application into multiple<br />

solutions but do not create a master solution for the entire application because all<br />

references inside each solution are project references. References to projects outside of<br />

each solution (for example, to third-party libraries or projects in another sub-solution) are<br />

file references. This means that there can be no “master” solution. Instead, a script must<br />

be used that understands the order in which the solutions must be built. One of the<br />

maintenance tasks associated <strong>with</strong> a multiple-solution structure is ensuring that<br />

developers do not inadvertently create circular references between solutions. This<br />

structure requires complex build scripts and explicit mapping of dependency<br />

relationships. In this structure, it is not possible to build the application in its entirety<br />

<strong>with</strong>in <strong>Visual</strong> <strong>Studio</strong>. Instead, you can use TFS <strong>Team</strong> Build or MSBuild directly.<br />

Additional Resources<br />

• For more information, see “Chapter 3 – Structuring Projects and Solutions in Source<br />

Control” in this guide.<br />

Scheduled Builds<br />

• Use a scheduled build to produce regular builds.<br />

Use a Scheduled Build to Produce Regular Builds<br />

You should use a scheduled build to produce builds at regular, predictable intervals.<br />

In general, builds provided to test teams and others need to be reliable and should be<br />

made available at a fixed time frequency, so that feedback on the build can be collected<br />

in a timely fashion.

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

Saved successfully!

Ooh no, something went wrong!