TFS 2010 – Sequential As Opposed To Parallel Builds

A client was asking me this today so I decided to make a quick note and send a link :)

In TFS 2010 when trying to make Sequential builds (i.e. for one you have several interdependent solutions in your automation strategy) in the DefaultTemplate XAML file you have to change the tag to . It should be noted that this is a lot different than TFS 2008. In TFS 2008, in the TFSBuild.proj file the solutions were just ordered correctly and made use of the BuildSolutionsInParallel property. This also required changing the setting for the MaxProcesses in the tfsbuildservice.exe.config file on the build server to a value greater 1, and also to restarting the build service on the build server. This is a lot more cumbersome than changing the type tag mentioned above.


Using SSL On The TFS Application Tier

It is common within acutely sensitive development environments to incorporate SSL between the different tiers of TFS. Generally, the approach to do this is to modify the configuration to leverage the AT (Application Tier), and then we modify the configuration for the build server to use SSL as well. When this is done, you will notice that 9 times out of 10 that you can browse to the SSL site via FQDN to the builder server agent service. The certificate will even look like the application took correctly. However, you will get the error:

The request failed with an HTTP status 403: Forbidden

To get around this, do three steps:
1) Open the build service configuration file located at Microsoft Visual Studio 9.0\Common7\IDE\PrivateAssemblies\tfsbuildservice.exe.config, change the value of AllowedTeamServer to the URL of your TFS. Changing http for https in the value should work.
2) Search the registry for AllowedTeamServer and change the value of all occurrences you find.
3) Restart the build service.

Then you should be good to go!


Large SharePoint Components with Continuous Integration Cause Time Outs With Automated Builds

When using TFS as a continuous integration platform with TFS, you may find that time to time with larger pieces that source control queries will start to timeout when automated builds are triggered. Thus, when a build is triggered and the sources are attempted to be pulled down to the build server working directory, you will get an error similar to the following:

C:\Program Files (x86)\MSBuild\Microsoft\VisualStudio\TeamBuild\Microsoft.TeamFoundation.Build.targets: error : : The operation has timed out.

To get around this problem you can change the timeout settings in the registry for the HKLM in the following location:


@DefaultTimeout: DWORD –> Sets the timeout, in milliseconds, for an individual request (the default is 5 minutes)

This should be done carefully, as actual issues might not bubble up as they should in regards to connectivity.