Jaa


TFS 2010 - Overriding build settings

This post is for those that are pretty familiar with the TFS Build features in Visual Studio. If you aren't, this may not make any sense.

So, it's Friday and you just made a gated check-in, but you can't leave until your build finishes. So, you open up the build details view and stare at it as it updates automatically polling the server every 10 seconds (or so). Suddenly, you realize that 10 seconds is too short. The window is constantly flickering. So you want to change the value to 30 seconds (and hit F5 to refresh the window yourself :)). You can actually affect this interval and many other things in TFS Build. Here is a quick explanation and a list of all the things you can influence.

1) Go to "HKEY_CURRENT_USER\Software\Microsoft\VisualStudio\10.0\TeamFoundation"

2) Add a key (if not already there) of "Build"

3) Select the Build key

4) Add a key (if not already there) of "UISettings"

5) Select the UISettings key

6) Add a DWORD value. Name it "ReportPollingInterval". And give it a value of 30000 (30 seconds in milliseconds).

7) Close and reopen Visual Studio to make sure it reads the new value.

That will change the polling time of the build report to 30 seconds.

And here is a list of other values you may want to change:

ReportPollingInterval

DWORD     The time interval (in milliseconds) between refreshes of the Build Details View (build report).The default if not found here is 10 seconds (10000).

QueuePollingInterval

DWORD The time interval (in milliseconds) between refreshes of the Build Queue in the Build Explorer. The default if not found here is 30 seconds (30000).

PreservePendingChanges

DWORD This is a boolean value that represents the check box on the Gated Confirmation dialog for preserving your pending changes. We remember the value here.

LastGatedDefinitionUsed

STRING    This is a string value that represents the definition you selected last on the Gated Confirmation dialog. We remember the value here.

QueueCompletedTimeWindow

DWORD This is the amount of time (in milliseconds) that a completed build will be shown on the Queued tab of the Build Explorer, before disappearing. The default if not found here is 5 minutes (300000).

MaxErrorsToShowInDetails

DWORD Added in SP1. This value determines the maximum number of errors that the Build Details View will show on the Summary (per project). The default if not found here is 5. The Log View will show up to 10 times this number.

MaxWarningsToShowInDetails

DWORD Added in SP1. This value determines the maximum number of warnings that the Build Details View will show on the Summary (per project). The default if not found here is 5. The Log View will show up to 10 times this number.

We will continue to add to this list as we have need. These values are not shown in the UI because most users probably don't need to adjust them. But I know you. If you have read this far, you have probably already changed one of them ;)

Happy hunting!

Comments

  • Anonymous
    September 26, 2011
    Excellent! Thank you for this post. In VS2010, once the in-progress build log reaches a certain length it scrolls up every 10 seconds or so before I can read it. The refresh itself takes nearly 10 seconds, so by the time I scroll down to the end, the log starts to refresh and scrolls itself back up to a different point. This makes it impossible to read until the build is complete. After creating the "ReportPollingInterval" value and setting it to a minute, the problem is resolved and I can read the log.

  • Anonymous
    May 15, 2012
    Jason, a +5 star for this useful post.