<?xml version="1.0"?><?xml-stylesheet type="text/xsl" href="/rss.xsl"?><rss version="2.0"><channel><title>VersionedTFSBuild Wiki Rss Feed</title><link>http://versionedtfsbuild.codeplex.com/</link><description>VersionedTFSBuild Wiki Rss Description</description><item><title>Updated Wiki: Home</title><link>http://versionedtfsbuild.codeplex.com/wikipage?version=13</link><description>&lt;div class="wikidoc"&gt;&lt;h2&gt;Project Description&lt;/h2&gt;Versioned Build for TFS 2010.  Allows for 4 version numbers &amp;#40;Called Major, Minor, Emergency and Build&amp;#41;,  Will also update the build number into any AssemblyInfo files in the project before building &amp;#40;effectively giving your binaries the same version number&amp;#41;.
&lt;hr /&gt;
&lt;h2&gt;Setup&lt;/h2&gt;&lt;b&gt;Note:&lt;/b&gt; These instructions assume you have a basic build and build controller already created.  &lt;br /&gt;If you do not there are lots of tutorials on the web on how to set these up.&lt;br /&gt;&lt;blockquote&gt;&lt;h3&gt;File Setup&lt;/h3&gt;&lt;ol&gt;&lt;li&gt;Download the latest release&lt;/li&gt;
&lt;li&gt;Check the dlls into TFS 2010 in a common location for all your projects 
&lt;ul&gt;&lt;li&gt;For example &lt;i&gt;$/TFSCommon/CustomBuildActions&lt;/i&gt;&lt;/li&gt;&lt;/ul&gt;&lt;/li&gt;
&lt;li&gt;Check the VersionedBuildProcess.xaml into &lt;i&gt;$/YourProjectToBuild/BuildProcessTemplates&lt;/i&gt;&lt;/li&gt;
&lt;li&gt;Commit these pending changes to TFS 2010 (so they are really on the server).&lt;/li&gt;&lt;/ol&gt;

&lt;h3&gt;Build Controller Setup&lt;/h3&gt;&lt;ol&gt;&lt;li&gt;In Team Explorer right click on the &lt;i&gt;Build&lt;/i&gt; node of your project and select &lt;i&gt;Manage Build Controllers&lt;/i&gt;.&lt;/li&gt;
&lt;li&gt;In the resulting dialog select your controller and then select properties&lt;/li&gt;
&lt;li&gt;In the resulting dialog find the &amp;quot;Version control path to custom assemblies:&amp;quot; field.
&lt;ul&gt;&lt;li&gt;Enter the location that you put the dlls (ie &lt;i&gt;$/TFSCommon/CustomBuildActions&lt;/i&gt;)&lt;/li&gt;&lt;/ul&gt;&lt;/li&gt;&lt;/ol&gt;

&lt;h3&gt;Setup the build&lt;/h3&gt;&lt;ol&gt;&lt;li&gt;In Team Explorer right click on the &lt;i&gt;Build&lt;/i&gt; node of your project and select &lt;i&gt;Refresh&lt;/i&gt;.&lt;/li&gt;
&lt;li&gt;Right click on your build (under the &lt;i&gt;Build&lt;/i&gt; node of your project).&lt;/li&gt;
&lt;li&gt;Select &lt;i&gt;Edit Build Definition&lt;/i&gt;&lt;/li&gt;
&lt;li&gt;Select &lt;i&gt;Process&lt;/i&gt; from the list on the right.&lt;/li&gt;
&lt;li&gt;Select &lt;i&gt;Show details&lt;/i&gt; &lt;img src="http://i3.codeplex.com/Download?ProjectName=VersionedTFSBuild&amp;DownloadId=205020" alt="ShowDetails.PNG" title="ShowDetails.PNG" /&gt;&lt;/li&gt;
&lt;li&gt;Select New&lt;/li&gt;
&lt;li&gt;In the resulting dialog, select the &lt;i&gt;Select an existing XAML file&lt;/i&gt; radio button&lt;/li&gt;
&lt;li&gt;Enter &lt;i&gt;$/YourProjectToBuild/BuildProcessTemplates/VersionedBuildProcess.xaml&lt;/i&gt; into the &lt;i&gt;Version control path:&lt;/i&gt;&lt;/li&gt;
&lt;li&gt;Select OK&lt;/li&gt;
&lt;li&gt;In the dropdown below &lt;i&gt;Build process file (Windows Workflow XAML):&lt;/i&gt; make sure that &lt;i&gt;VersionedBuildProcess.xaml&lt;/i&gt; is selected.&lt;/li&gt;
&lt;li&gt;In the grid below &lt;i&gt;Build process parameters&lt;/i&gt; find the &lt;i&gt;VersionFileLocation&lt;/i&gt; parameter
&lt;ul&gt;&lt;li&gt;Enter &lt;i&gt;$/YourProjectToBuild/BuildProcessTemplates&lt;/i&gt;  for the &lt;i&gt;VersionFileLocation&lt;/i&gt;&lt;/li&gt;&lt;/ul&gt;&lt;/li&gt;
&lt;li&gt;Create and check to TFS 2010 a file called &lt;i&gt;Version.txt&lt;/i&gt;
&lt;ul&gt;&lt;li&gt;File file MUST have only one line with four version numbers separated by a period (ie. 1.0.0.0)&lt;/li&gt;
&lt;li&gt;Check the file into &lt;i&gt;$/YourProjectToBuild/BuildProcessTemplates&lt;/i&gt;&lt;/li&gt;&lt;/ul&gt;&lt;/li&gt;
&lt;li&gt;Save and close the Build Definition changes&lt;/li&gt;&lt;/ol&gt;
&lt;br /&gt;That should be it.  Run your build and you should get build numbers for your TFS Build.  Also check the binaries output by your build.  They should have the same version number as the build does.
&lt;/blockquote&gt;&lt;hr /&gt;
&lt;h2&gt;Usage&lt;/h2&gt;This covers the other options found in the &lt;i&gt;Build process parameters&lt;/i&gt; grid. (See above for how to get to this grid.)&lt;br /&gt;&lt;blockquote&gt;&lt;h3&gt;Increasing Version Numbers&lt;/h3&gt;&lt;ol&gt;&lt;li&gt;&lt;b&gt;IsMajorBuild:&lt;/b&gt; Will increase the first number in the version when the next build happens. (Example 1.0.0.0 would become 2.0.0.0)
&lt;ul&gt;&lt;li&gt;This is can (and should) be set when the build is queued by selecting the &lt;i&gt;Parameters&lt;/i&gt; tab in the &lt;i&gt;Queue Build&lt;/i&gt; dialog box.&lt;/li&gt;&lt;/ul&gt;&lt;/li&gt;
&lt;li&gt;&lt;b&gt;IsMinorBuild:&lt;/b&gt; Will increase the second number in the version when the next build happens. (Example 1.0.0.0 would become 1.1.0.0)
&lt;ul&gt;&lt;li&gt;This is can (and should) be set when the build is queued by selecting the &lt;i&gt;Parameters&lt;/i&gt; tab in the &lt;i&gt;Queue Build&lt;/i&gt; dialog box.&lt;/li&gt;&lt;/ul&gt;&lt;/li&gt;
&lt;li&gt;&lt;b&gt;IsEmergencyBuild:&lt;/b&gt; Will increase the third number in the version when the next build happens. (Example 1.0.0.0 would become 1.0.1.0)
&lt;ul&gt;&lt;li&gt;This is can (and should) be set when the build is queued by selecting the &lt;i&gt;Parameters&lt;/i&gt; tab in the &lt;i&gt;Queue Build&lt;/i&gt; dialog box.&lt;/li&gt;&lt;/ul&gt;&lt;/li&gt;
&lt;li&gt;&lt;b&gt;AssemblyInfoMask:&lt;/b&gt;This is used to set the mask to define what files will have the search and replace done for the new version number.
&lt;ul&gt;&lt;li&gt;What ever files match this mask are looked in for an expression matching {new Regex(attribute + @&amp;quot;\(&amp;quot;&amp;quot;\d+\.\d+\.\d+\.\d+&amp;quot;&amp;quot;\)&amp;quot;)} (for example this would match &lt;i&gt;AssemblyFileVersion(&amp;quot;1.0.0.0&amp;quot;)&lt;/i&gt;)&lt;/li&gt;
&lt;li&gt;Matching expressions have the version number in them replaced with the new build number&lt;/li&gt;&lt;/ul&gt;&lt;/li&gt;
&lt;li&gt;&lt;b&gt;Version File:&lt;/b&gt; The name of the file that will hold the version number.  Defaults to Version.txt (that is what is used in the instructions above.
&lt;ul&gt;&lt;li&gt;This could be used to allow more than one version number per project.&lt;/li&gt;&lt;/ul&gt;&lt;/li&gt;
&lt;li&gt;&lt;b&gt;VersionFileLocation:&lt;/b&gt; This is where the version file is located.
&lt;ul&gt;&lt;li&gt;This could be used to allow more than one version number per project.&lt;/li&gt;&lt;/ul&gt;&lt;/li&gt;
&lt;li&gt;&lt;b&gt;IsPreRelease:&lt;/b&gt; If true then this build is a pre-release build (usually only matters when building NuGet packages).&lt;/li&gt;
&lt;li&gt;&lt;b&gt;PreReleaseTag:&lt;/b&gt; Tag to add to the pre-release.  (NuGut supports any value to indicate that a package is prerelease.&lt;/li&gt;&lt;/ol&gt;
&lt;/blockquote&gt;To build a NuGet Package using this template add this to your &lt;a href="https://raw.github.com/gist/2829672/93c05f298515ed31711b66ca0ae1e51944108e60/NuGet%20Post%20Build"&gt;NuGet project&amp;#39;s post build activity&lt;/a&gt; and replace the &amp;quot;&lt;i&gt;&amp;quot;\\SomeComputer\developer\NuGet Repository&amp;quot;&lt;/i&gt;&amp;quot; with the location of your NuGetRepository (or where ever you want your packages to drop to)&lt;br /&gt;&lt;br /&gt;&lt;b&gt;NOTE:&lt;/b&gt; This script assumes you have &amp;quot;NuGet Package Restore&amp;quot; turned on.  If you do not then you will have to update the nuget location to point to nuget.exe.&lt;br /&gt;&lt;br /&gt;&lt;b&gt;NOTE:&lt;/b&gt; Enter it exactly as shown.  (Extra newlines will mess it up.)&lt;br /&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="ClearBoth"&gt;&lt;/div&gt;</description><author>Vaccano</author><pubDate>Tue, 29 May 2012 17:53:49 GMT</pubDate><guid isPermaLink="false">Updated Wiki: Home 20120529055349P</guid></item><item><title>Updated Wiki: Home</title><link>http://versionedtfsbuild.codeplex.com/wikipage?version=12</link><description>&lt;div class="wikidoc"&gt;&lt;h2&gt;Project Description&lt;/h2&gt;Versioned Build for TFS 2010.  Allows for 4 version numbers &amp;#40;Called Major, Minor, Emergency and Build&amp;#41;,  Will also update the build number into any AssemblyInfo files in the project before building &amp;#40;effectively giving your binaries the same version number&amp;#41;.
&lt;hr /&gt;
&lt;h2&gt;Setup&lt;/h2&gt;&lt;b&gt;Note:&lt;/b&gt; These instructions assume you have a basic build and build controller already created.  &lt;br /&gt;If you do not there are lots of tutorials on the web on how to set these up.&lt;br /&gt;&lt;blockquote&gt;&lt;h3&gt;File Setup&lt;/h3&gt;&lt;ol&gt;&lt;li&gt;Download the latest release&lt;/li&gt;
&lt;li&gt;Check the dlls into TFS 2010 in a common location for all your projects 
&lt;ul&gt;&lt;li&gt;For example &lt;i&gt;$/TFSCommon/CustomBuildActions&lt;/i&gt;&lt;/li&gt;&lt;/ul&gt;&lt;/li&gt;
&lt;li&gt;Check the VersionedBuildProcess.xaml into &lt;i&gt;$/YourProjectToBuild/BuildProcessTemplates&lt;/i&gt;&lt;/li&gt;
&lt;li&gt;Commit these pending changes to TFS 2010 (so they are really on the server).&lt;/li&gt;&lt;/ol&gt;

&lt;h3&gt;Build Controller Setup&lt;/h3&gt;&lt;ol&gt;&lt;li&gt;In Team Explorer right click on the &lt;i&gt;Build&lt;/i&gt; node of your project and select &lt;i&gt;Manage Build Controllers&lt;/i&gt;.&lt;/li&gt;
&lt;li&gt;In the resulting dialog select your controller and then select properties&lt;/li&gt;
&lt;li&gt;In the resulting dialog find the &amp;quot;Version control path to custom assemblies:&amp;quot; field.
&lt;ul&gt;&lt;li&gt;Enter the location that you put the dlls (ie &lt;i&gt;$/TFSCommon/CustomBuildActions&lt;/i&gt;)&lt;/li&gt;&lt;/ul&gt;&lt;/li&gt;&lt;/ol&gt;

&lt;h3&gt;Setup the build&lt;/h3&gt;&lt;ol&gt;&lt;li&gt;In Team Explorer right click on the &lt;i&gt;Build&lt;/i&gt; node of your project and select &lt;i&gt;Refresh&lt;/i&gt;.&lt;/li&gt;
&lt;li&gt;Right click on your build (under the &lt;i&gt;Build&lt;/i&gt; node of your project).&lt;/li&gt;
&lt;li&gt;Select &lt;i&gt;Edit Build Definition&lt;/i&gt;&lt;/li&gt;
&lt;li&gt;Select &lt;i&gt;Process&lt;/i&gt; from the list on the right.&lt;/li&gt;
&lt;li&gt;Select &lt;i&gt;Show details&lt;/i&gt; &lt;img src="http://i3.codeplex.com/Download?ProjectName=VersionedTFSBuild&amp;DownloadId=205020" alt="ShowDetails.PNG" title="ShowDetails.PNG" /&gt;&lt;/li&gt;
&lt;li&gt;Select New&lt;/li&gt;
&lt;li&gt;In the resulting dialog, select the &lt;i&gt;Select an existing XAML file&lt;/i&gt; radio button&lt;/li&gt;
&lt;li&gt;Enter &lt;i&gt;$/YourProjectToBuild/BuildProcessTemplates/VersionedBuildProcess.xaml&lt;/i&gt; into the &lt;i&gt;Version control path:&lt;/i&gt;&lt;/li&gt;
&lt;li&gt;Select OK&lt;/li&gt;
&lt;li&gt;In the dropdown below &lt;i&gt;Build process file (Windows Workflow XAML):&lt;/i&gt; make sure that &lt;i&gt;VersionedBuildProcess.xaml&lt;/i&gt; is selected.&lt;/li&gt;
&lt;li&gt;In the grid below &lt;i&gt;Build process parameters&lt;/i&gt; find the &lt;i&gt;VersionFileLocation&lt;/i&gt; parameter
&lt;ul&gt;&lt;li&gt;Enter &lt;i&gt;$/YourProjectToBuild/BuildProcessTemplates&lt;/i&gt;  for the &lt;i&gt;VersionFileLocation&lt;/i&gt;&lt;/li&gt;&lt;/ul&gt;&lt;/li&gt;
&lt;li&gt;Create and check to TFS 2010 a file called &lt;i&gt;Version.txt&lt;/i&gt;
&lt;ul&gt;&lt;li&gt;File file MUST have only one line with four version numbers separated by a period (ie. 1.0.0.0)&lt;/li&gt;
&lt;li&gt;Check the file into &lt;i&gt;$/YourProjectToBuild/BuildProcessTemplates&lt;/i&gt;&lt;/li&gt;&lt;/ul&gt;&lt;/li&gt;
&lt;li&gt;Save and close the Build Definition changes&lt;/li&gt;&lt;/ol&gt;
&lt;br /&gt;That should be it.  Run your build and you should get build numbers for your TFS Build.  Also check the binaries output by your build.  They should have the same version number as the build does.
&lt;/blockquote&gt;&lt;hr /&gt;
&lt;h2&gt;Usage&lt;/h2&gt;This covers the other options found in the &lt;i&gt;Build process parameters&lt;/i&gt; grid. (See above for how to get to this grid.)&lt;br /&gt;&lt;blockquote&gt;&lt;h3&gt;Increasing Version Numbers&lt;/h3&gt;&lt;ol&gt;&lt;li&gt;&lt;b&gt;IsMajorBuild:&lt;/b&gt; Will increase the first number in the version when the next build happens. (Example 1.0.0.0 would become 2.0.0.0)
&lt;ul&gt;&lt;li&gt;This is can (and should) be set when the build is queued by selecting the &lt;i&gt;Parameters&lt;/i&gt; tab in the &lt;i&gt;Queue Build&lt;/i&gt; dialog box.&lt;/li&gt;&lt;/ul&gt;&lt;/li&gt;
&lt;li&gt;&lt;b&gt;IsMinorBuild:&lt;/b&gt; Will increase the second number in the version when the next build happens. (Example 1.0.0.0 would become 1.1.0.0)
&lt;ul&gt;&lt;li&gt;This is can (and should) be set when the build is queued by selecting the &lt;i&gt;Parameters&lt;/i&gt; tab in the &lt;i&gt;Queue Build&lt;/i&gt; dialog box.&lt;/li&gt;&lt;/ul&gt;&lt;/li&gt;
&lt;li&gt;&lt;b&gt;IsEmergencyBuild:&lt;/b&gt; Will increase the third number in the version when the next build happens. (Example 1.0.0.0 would become 1.0.1.0)
&lt;ul&gt;&lt;li&gt;This is can (and should) be set when the build is queued by selecting the &lt;i&gt;Parameters&lt;/i&gt; tab in the &lt;i&gt;Queue Build&lt;/i&gt; dialog box.&lt;/li&gt;&lt;/ul&gt;&lt;/li&gt;
&lt;li&gt;&lt;b&gt;AssemblyInfoMask:&lt;/b&gt;This is used to set the mask to define what files will have the search and replace done for the new version number.
&lt;ul&gt;&lt;li&gt;What ever files match this mask are looked in for an expression matching {new Regex(attribute + @&amp;quot;\(&amp;quot;&amp;quot;\d+\.\d+\.\d+\.\d+&amp;quot;&amp;quot;\)&amp;quot;)} (for example this would match &lt;i&gt;AssemblyFileVersion(&amp;quot;1.0.0.0&amp;quot;)&lt;/i&gt;)&lt;/li&gt;
&lt;li&gt;Matching expressions have the version number in them replaced with the new build number&lt;/li&gt;&lt;/ul&gt;&lt;/li&gt;
&lt;li&gt;&lt;b&gt;Version File:&lt;/b&gt; The name of the file that will hold the version number.  Defaults to Version.txt (that is what is used in the instructions above.
&lt;ul&gt;&lt;li&gt;This could be used to allow more than one version number per project.&lt;/li&gt;&lt;/ul&gt;&lt;/li&gt;
&lt;li&gt;&lt;b&gt;VersionFileLocation:&lt;/b&gt; This is where the version file is located.
&lt;ul&gt;&lt;li&gt;This could be used to allow more than one version number per project.&lt;/li&gt;&lt;/ul&gt;&lt;/li&gt;
&lt;li&gt;&lt;b&gt;IsPreRelease:&lt;/b&gt; If true then this build is a pre-release build (usually only matters when building NuGet packages).&lt;/li&gt;
&lt;li&gt;&lt;b&gt;PreReleaseTag:&lt;/b&gt; Tag to add to the pre-release.  (NuGut supports any value to indicate that a package is prerelease.&lt;/li&gt;&lt;/ol&gt;
&lt;/blockquote&gt;To build a NuGet Package using this template add this to your &lt;a href="https://raw.github.com/gist/2829672/93c05f298515ed31711b66ca0ae1e51944108e60/NuGet%20Post%20Build"&gt;NuGet project&amp;#39;s post build activity&lt;/a&gt; and replace the &amp;quot;&lt;i&gt;&amp;quot;\\SomeComputer\developer\NuGet Repository&amp;quot;&lt;/i&gt;&amp;quot; with the location of your NuGetRepository (or where ever you want your packages to drop to)&lt;br /&gt;&lt;br /&gt;&lt;b&gt;NOTE:&lt;/b&gt; Enter it exactly as shown.  (Extra newlines will mess it up.)&lt;br /&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="ClearBoth"&gt;&lt;/div&gt;</description><author>Vaccano</author><pubDate>Tue, 29 May 2012 17:48:54 GMT</pubDate><guid isPermaLink="false">Updated Wiki: Home 20120529054854P</guid></item><item><title>Updated Wiki: Home</title><link>http://versionedtfsbuild.codeplex.com/wikipage?version=11</link><description>&lt;div class="wikidoc"&gt;&lt;h2&gt;Project Description&lt;/h2&gt;Versioned Build for TFS 2010.  Allows for 4 version numbers &amp;#40;Called Major, Minor, Emergency and Build&amp;#41;,  Will also update the build number into any AssemblyInfo files in the project before building &amp;#40;effectively giving your binaries the same version number&amp;#41;.
&lt;hr /&gt;
&lt;h2&gt;Setup&lt;/h2&gt;&lt;b&gt;Note:&lt;/b&gt; These instructions assume you have a basic build and build controller already created.  &lt;br /&gt;If you do not there are lots of tutorials on the web on how to set these up.&lt;br /&gt;&lt;blockquote&gt;&lt;h3&gt;File Setup&lt;/h3&gt;&lt;ol&gt;&lt;li&gt;Download the latest release&lt;/li&gt;
&lt;li&gt;Check the dlls into TFS 2010 in a common location for all your projects 
&lt;ul&gt;&lt;li&gt;For example &lt;i&gt;$/TFSCommon/CustomBuildActions&lt;/i&gt;&lt;/li&gt;&lt;/ul&gt;&lt;/li&gt;
&lt;li&gt;Check the VersionedBuildProcess.xaml into &lt;i&gt;$/YourProjectToBuild/BuildProcessTemplates&lt;/i&gt;&lt;/li&gt;
&lt;li&gt;Commit these pending changes to TFS 2010 (so they are really on the server).&lt;/li&gt;&lt;/ol&gt;

&lt;h3&gt;Build Controller Setup&lt;/h3&gt;&lt;ol&gt;&lt;li&gt;In Team Explorer right click on the &lt;i&gt;Build&lt;/i&gt; node of your project and select &lt;i&gt;Manage Build Controllers&lt;/i&gt;.&lt;/li&gt;
&lt;li&gt;In the resulting dialog select your controller and then select properties&lt;/li&gt;
&lt;li&gt;In the resulting dialog find the &amp;quot;Version control path to custom assemblies:&amp;quot; field.
&lt;ul&gt;&lt;li&gt;Enter the location that you put the dlls (ie &lt;i&gt;$/TFSCommon/CustomBuildActions&lt;/i&gt;)&lt;/li&gt;&lt;/ul&gt;&lt;/li&gt;&lt;/ol&gt;

&lt;h3&gt;Setup the build&lt;/h3&gt;&lt;ol&gt;&lt;li&gt;In Team Explorer right click on the &lt;i&gt;Build&lt;/i&gt; node of your project and select &lt;i&gt;Refresh&lt;/i&gt;.&lt;/li&gt;
&lt;li&gt;Right click on your build (under the &lt;i&gt;Build&lt;/i&gt; node of your project).&lt;/li&gt;
&lt;li&gt;Select &lt;i&gt;Edit Build Definition&lt;/i&gt;&lt;/li&gt;
&lt;li&gt;Select &lt;i&gt;Process&lt;/i&gt; from the list on the right.&lt;/li&gt;
&lt;li&gt;Select &lt;i&gt;Show details&lt;/i&gt; &lt;img src="http://i3.codeplex.com/Download?ProjectName=VersionedTFSBuild&amp;DownloadId=205020" alt="ShowDetails.PNG" title="ShowDetails.PNG" /&gt;&lt;/li&gt;
&lt;li&gt;Select New&lt;/li&gt;
&lt;li&gt;In the resulting dialog, select the &lt;i&gt;Select an existing XAML file&lt;/i&gt; radio button&lt;/li&gt;
&lt;li&gt;Enter &lt;i&gt;$/YourProjectToBuild/BuildProcessTemplates/VersionedBuildProcess.xaml&lt;/i&gt; into the &lt;i&gt;Version control path:&lt;/i&gt;&lt;/li&gt;
&lt;li&gt;Select OK&lt;/li&gt;
&lt;li&gt;In the dropdown below &lt;i&gt;Build process file (Windows Workflow XAML):&lt;/i&gt; make sure that &lt;i&gt;VersionedBuildProcess.xaml&lt;/i&gt; is selected.&lt;/li&gt;
&lt;li&gt;In the grid below &lt;i&gt;Build process parameters&lt;/i&gt; find the &lt;i&gt;VersionFileLocation&lt;/i&gt; parameter
&lt;ul&gt;&lt;li&gt;Enter &lt;i&gt;$/YourProjectToBuild/BuildProcessTemplates&lt;/i&gt;  for the &lt;i&gt;VersionFileLocation&lt;/i&gt;&lt;/li&gt;&lt;/ul&gt;&lt;/li&gt;
&lt;li&gt;Create and check to TFS 2010 a file called &lt;i&gt;Version.txt&lt;/i&gt;
&lt;ul&gt;&lt;li&gt;File file MUST have only one line with four version numbers separated by a period (ie. 1.0.0.0)&lt;/li&gt;
&lt;li&gt;Check the file into &lt;i&gt;$/YourProjectToBuild/BuildProcessTemplates&lt;/i&gt;&lt;/li&gt;&lt;/ul&gt;&lt;/li&gt;
&lt;li&gt;Save and close the Build Definition changes&lt;/li&gt;&lt;/ol&gt;
&lt;br /&gt;That should be it.  Run your build and you should get build numbers for your TFS Build.  Also check the binaries output by your build.  They should have the same version number as the build does.
&lt;/blockquote&gt;&lt;hr /&gt;
&lt;h2&gt;Usage&lt;/h2&gt;This covers the other options found in the &lt;i&gt;Build process parameters&lt;/i&gt; grid. (See above for how to get to this grid.)&lt;br /&gt;&lt;blockquote&gt;&lt;h3&gt;Increasing Version Numbers&lt;/h3&gt;&lt;ol&gt;&lt;li&gt;&lt;b&gt;IsMajorBuild:&lt;/b&gt; Will increase the first number in the version when the next build happens. (Example 1.0.0.0 would become 2.0.0.0)
&lt;ul&gt;&lt;li&gt;This is can (and should) be set when the build is queued by selecting the &lt;i&gt;Parameters&lt;/i&gt; tab in the &lt;i&gt;Queue Build&lt;/i&gt; dialog box.&lt;/li&gt;&lt;/ul&gt;&lt;/li&gt;
&lt;li&gt;&lt;b&gt;IsMinorBuild:&lt;/b&gt; Will increase the second number in the version when the next build happens. (Example 1.0.0.0 would become 1.1.0.0)
&lt;ul&gt;&lt;li&gt;This is can (and should) be set when the build is queued by selecting the &lt;i&gt;Parameters&lt;/i&gt; tab in the &lt;i&gt;Queue Build&lt;/i&gt; dialog box.&lt;/li&gt;&lt;/ul&gt;&lt;/li&gt;
&lt;li&gt;&lt;b&gt;IsEmergencyBuild:&lt;/b&gt; Will increase the third number in the version when the next build happens. (Example 1.0.0.0 would become 1.0.1.0)
&lt;ul&gt;&lt;li&gt;This is can (and should) be set when the build is queued by selecting the &lt;i&gt;Parameters&lt;/i&gt; tab in the &lt;i&gt;Queue Build&lt;/i&gt; dialog box.&lt;/li&gt;&lt;/ul&gt;&lt;/li&gt;
&lt;li&gt;&lt;b&gt;AssemblyInfoMask:&lt;/b&gt;This is used to set the mask to define what files will have the search and replace done for the new version number.
&lt;ul&gt;&lt;li&gt;What ever files match this mask are looked in for an expression matching {new Regex(attribute + @&amp;quot;\(&amp;quot;&amp;quot;\d+\.\d+\.\d+\.\d+&amp;quot;&amp;quot;\)&amp;quot;)} (for example this would match &lt;i&gt;AssemblyFileVersion(&amp;quot;1.0.0.0&amp;quot;)&lt;/i&gt;)&lt;/li&gt;
&lt;li&gt;Matching expressions have the version number in them replaced with the new build number&lt;/li&gt;&lt;/ul&gt;&lt;/li&gt;
&lt;li&gt;&lt;b&gt;Version File:&lt;/b&gt; The name of the file that will hold the version number.  Defaults to Version.txt (that is what is used in the instructions above.
&lt;ul&gt;&lt;li&gt;This could be used to allow more than one version number per project.&lt;/li&gt;&lt;/ul&gt;&lt;/li&gt;
&lt;li&gt;&lt;b&gt;VersionFileLocation:&lt;/b&gt; This is where the version file is located.
&lt;ul&gt;&lt;li&gt;This could be used to allow more than one version number per project.&lt;/li&gt;&lt;/ul&gt;&lt;/li&gt;
&lt;li&gt;&lt;b&gt;IsPreRelease:&lt;/b&gt; If true then this build is a pre-release build (usually only matters when building NuGet packages).&lt;/li&gt;
&lt;li&gt;&lt;b&gt;PreReleaseTag:&lt;/b&gt; Tag to add to the pre-release.  (NuGut supports any value to indicate that a package is prerelease.&lt;/li&gt;&lt;/ol&gt;
&lt;/blockquote&gt;To build a NuGet Package using this template add this to your &lt;a href="https://raw.github.com/gist/2829672/63704acb23c8853ec69597ca3089803b5fd3a388/NuGet%20Post%20Build"&gt;NuGet project&amp;#39;s post build activity&lt;/a&gt; and replace the &amp;quot;&lt;i&gt;&amp;quot;\\SomeComputer\developer\NuGet Repository&amp;quot;&lt;/i&gt;&amp;quot; with the location of your NuGetRepository (or where ever you want your packages to drop to)&lt;br /&gt;&lt;br /&gt;&lt;b&gt;NOTE:&lt;/b&gt; Enter it exactly as shown.  (Extra newlines will mess it up.)&lt;br /&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="ClearBoth"&gt;&lt;/div&gt;</description><author>Vaccano</author><pubDate>Tue, 29 May 2012 17:46:12 GMT</pubDate><guid isPermaLink="false">Updated Wiki: Home 20120529054612P</guid></item><item><title>Updated Wiki: Home</title><link>http://versionedtfsbuild.codeplex.com/wikipage?version=10</link><description>&lt;div class="wikidoc"&gt;&lt;h2&gt;Project Description&lt;/h2&gt;Versioned Build for TFS 2010.  Allows for 4 version numbers &amp;#40;Called Major, Minor, Emergency and Build&amp;#41;,  Will also update the build number into any AssemblyInfo files in the project before building &amp;#40;effectively giving your binaries the same version number&amp;#41;.
&lt;hr /&gt;
&lt;h2&gt;Setup&lt;/h2&gt;&lt;b&gt;Note:&lt;/b&gt; These instructions assume you have a basic build and build controller already created.  &lt;br /&gt;If you do not there are lots of tutorials on the web on how to set these up.&lt;br /&gt;&lt;blockquote&gt;&lt;h3&gt;File Setup&lt;/h3&gt;&lt;ol&gt;&lt;li&gt;Download the latest release&lt;/li&gt;
&lt;li&gt;Check the dlls into TFS 2010 in a common location for all your projects 
&lt;ul&gt;&lt;li&gt;For example &lt;i&gt;$/TFSCommon/CustomBuildActions&lt;/i&gt;&lt;/li&gt;&lt;/ul&gt;&lt;/li&gt;
&lt;li&gt;Check the VersionedBuildProcess.xaml into &lt;i&gt;$/YourProjectToBuild/BuildProcessTemplates&lt;/i&gt;&lt;/li&gt;
&lt;li&gt;Commit these pending changes to TFS 2010 (so they are really on the server).&lt;/li&gt;&lt;/ol&gt;

&lt;h3&gt;Build Controller Setup&lt;/h3&gt;&lt;ol&gt;&lt;li&gt;In Team Explorer right click on the &lt;i&gt;Build&lt;/i&gt; node of your project and select &lt;i&gt;Manage Build Controllers&lt;/i&gt;.&lt;/li&gt;
&lt;li&gt;In the resulting dialog select your controller and then select properties&lt;/li&gt;
&lt;li&gt;In the resulting dialog find the &amp;quot;Version control path to custom assemblies:&amp;quot; field.
&lt;ul&gt;&lt;li&gt;Enter the location that you put the dlls (ie &lt;i&gt;$/TFSCommon/CustomBuildActions&lt;/i&gt;)&lt;/li&gt;&lt;/ul&gt;&lt;/li&gt;&lt;/ol&gt;

&lt;h3&gt;Setup the build&lt;/h3&gt;&lt;ol&gt;&lt;li&gt;In Team Explorer right click on the &lt;i&gt;Build&lt;/i&gt; node of your project and select &lt;i&gt;Refresh&lt;/i&gt;.&lt;/li&gt;
&lt;li&gt;Right click on your build (under the &lt;i&gt;Build&lt;/i&gt; node of your project).&lt;/li&gt;
&lt;li&gt;Select &lt;i&gt;Edit Build Definition&lt;/i&gt;&lt;/li&gt;
&lt;li&gt;Select &lt;i&gt;Process&lt;/i&gt; from the list on the right.&lt;/li&gt;
&lt;li&gt;Select &lt;i&gt;Show details&lt;/i&gt; &lt;img src="http://i3.codeplex.com/Download?ProjectName=VersionedTFSBuild&amp;DownloadId=205020" alt="ShowDetails.PNG" title="ShowDetails.PNG" /&gt;&lt;/li&gt;
&lt;li&gt;Select New&lt;/li&gt;
&lt;li&gt;In the resulting dialog, select the &lt;i&gt;Select an existing XAML file&lt;/i&gt; radio button&lt;/li&gt;
&lt;li&gt;Enter &lt;i&gt;$/YourProjectToBuild/BuildProcessTemplates/VersionedBuildProcess.xaml&lt;/i&gt; into the &lt;i&gt;Version control path:&lt;/i&gt;&lt;/li&gt;
&lt;li&gt;Select OK&lt;/li&gt;
&lt;li&gt;In the dropdown below &lt;i&gt;Build process file (Windows Workflow XAML):&lt;/i&gt; make sure that &lt;i&gt;VersionedBuildProcess.xaml&lt;/i&gt; is selected.&lt;/li&gt;
&lt;li&gt;In the grid below &lt;i&gt;Build process parameters&lt;/i&gt; find the &lt;i&gt;VersionFileLocation&lt;/i&gt; parameter
&lt;ul&gt;&lt;li&gt;Enter &lt;i&gt;$/YourProjectToBuild/BuildProcessTemplates&lt;/i&gt;  for the &lt;i&gt;VersionFileLocation&lt;/i&gt;&lt;/li&gt;&lt;/ul&gt;&lt;/li&gt;
&lt;li&gt;Create and check to TFS 2010 a file called &lt;i&gt;Version.txt&lt;/i&gt;
&lt;ul&gt;&lt;li&gt;File file MUST have only one line with four version numbers separated by a period (ie. 1.0.0.0)&lt;/li&gt;
&lt;li&gt;Check the file into &lt;i&gt;$/YourProjectToBuild/BuildProcessTemplates&lt;/i&gt;&lt;/li&gt;&lt;/ul&gt;&lt;/li&gt;
&lt;li&gt;Save and close the Build Definition changes&lt;/li&gt;&lt;/ol&gt;
&lt;br /&gt;That should be it.  Run your build and you should get build numbers for your TFS Build.  Also check the binaries output by your build.  They should have the same version number as the build does.
&lt;/blockquote&gt;&lt;hr /&gt;
&lt;h2&gt;Usage&lt;/h2&gt;This covers the other options found in the &lt;i&gt;Build process parameters&lt;/i&gt; grid. (See above for how to get to this grid.)&lt;br /&gt;&lt;blockquote&gt;&lt;h3&gt;Increasing Version Numbers&lt;/h3&gt;&lt;ol&gt;&lt;li&gt;&lt;b&gt;IsMajorBuild:&lt;/b&gt; Will increase the first number in the version when the next build happens. (Example 1.0.0.0 would become 2.0.0.0)
&lt;ul&gt;&lt;li&gt;This is can (and should) be set when the build is queued by selecting the &lt;i&gt;Parameters&lt;/i&gt; tab in the &lt;i&gt;Queue Build&lt;/i&gt; dialog box.&lt;/li&gt;&lt;/ul&gt;&lt;/li&gt;
&lt;li&gt;&lt;b&gt;IsMinorBuild:&lt;/b&gt; Will increase the second number in the version when the next build happens. (Example 1.0.0.0 would become 1.1.0.0)
&lt;ul&gt;&lt;li&gt;This is can (and should) be set when the build is queued by selecting the &lt;i&gt;Parameters&lt;/i&gt; tab in the &lt;i&gt;Queue Build&lt;/i&gt; dialog box.&lt;/li&gt;&lt;/ul&gt;&lt;/li&gt;
&lt;li&gt;&lt;b&gt;IsEmergencyBuild:&lt;/b&gt; Will increase the third number in the version when the next build happens. (Example 1.0.0.0 would become 1.0.1.0)
&lt;ul&gt;&lt;li&gt;This is can (and should) be set when the build is queued by selecting the &lt;i&gt;Parameters&lt;/i&gt; tab in the &lt;i&gt;Queue Build&lt;/i&gt; dialog box.&lt;/li&gt;&lt;/ul&gt;&lt;/li&gt;
&lt;li&gt;&lt;b&gt;AssemblyInfoMask:&lt;/b&gt;This is used to set the mask to define what files will have the search and replace done for the new version number.
&lt;ul&gt;&lt;li&gt;What ever files match this mask are looked in for an expression matching {new Regex(attribute + @&amp;quot;\(&amp;quot;&amp;quot;\d+\.\d+\.\d+\.\d+&amp;quot;&amp;quot;\)&amp;quot;)} (for example this would match &lt;i&gt;AssemblyFileVersion(&amp;quot;1.0.0.0&amp;quot;)&lt;/i&gt;)&lt;/li&gt;
&lt;li&gt;Matching expressions have the version number in them replaced with the new build number&lt;/li&gt;&lt;/ul&gt;&lt;/li&gt;
&lt;li&gt;&lt;b&gt;Version File:&lt;/b&gt; The name of the file that will hold the version number.  Defaults to Version.txt (that is what is used in the instructions above.
&lt;ul&gt;&lt;li&gt;This could be used to allow more than one version number per project.&lt;/li&gt;&lt;/ul&gt;&lt;/li&gt;
&lt;li&gt;&lt;b&gt;VersionFileLocation:&lt;/b&gt; This is where the version file is located.
&lt;ul&gt;&lt;li&gt;This could be used to allow more than one version number per project.&lt;/li&gt;&lt;/ul&gt;&lt;/li&gt;
&lt;li&gt;&lt;b&gt;IsPreRelease:&lt;/b&gt; If true then this build is a pre-release build (usually only matters when building NuGet packages).&lt;/li&gt;
&lt;li&gt;&lt;b&gt;PreReleaseTag:&lt;/b&gt; Tag to add to the pre-release.  (NuGut supports any value to indicate that a package is prerelease.&lt;/li&gt;&lt;/ol&gt;
&lt;/blockquote&gt;To build a NuGet Package using this template add this to your &lt;a href="https://raw.github.com/gist/2829672/63704acb23c8853ec69597ca3089803b5fd3a388/NuGet%20Post%20Build"&gt;NuGet project&amp;#39;s post build activity&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;&lt;b&gt;NOTE:&lt;/b&gt; Enter it exactly as shown.  (Extra newlines will mess it up.)&lt;br /&gt;&lt;/div&gt;&lt;div class="ClearBoth"&gt;&lt;/div&gt;</description><author>Vaccano</author><pubDate>Tue, 29 May 2012 17:41:52 GMT</pubDate><guid isPermaLink="false">Updated Wiki: Home 20120529054152P</guid></item><item><title>Updated Wiki: NuGet project's post build activity</title><link>http://versionedtfsbuild.codeplex.com/wikipage?title=NuGet project's post build activity&amp;version=1</link><description>&lt;div class="wikidoc"&gt;
&lt;pre&gt;echo ProjectDll = $(OutDir)\$(AssemblyName).dll
echo BuildingInsideVisualStudio = $(BuildingInsideVisualStudio)
echo Configuration = $(ConfigurationName)
IF '$(BuildingInsideVisualStudio)'=='true' (
if '$(ConfigurationName)' == 'Release' &amp;quot;$(SolutionDir).nuget\NuGet.exe&amp;quot; pack &amp;quot;$(ProjectDir)\$(MSBuildProjectFile)&amp;quot; -Prop Configuration=Release ) ELSE (
 if '$(ConfigurationName)' == 'Release' &amp;quot;$(SolutionDir).nuget\NuGet.exe&amp;quot; pack &amp;quot;$(ProjectDir)\$(MSBuildProjectFile)&amp;quot; -Prop Configuration=Release -Prop TargetPath=&amp;quot;$(OutDir)\$(AssemblyName).dll&amp;quot; -OutputDirectory &amp;quot;$(OutDir).&amp;quot; 
xcopy &amp;quot;$(OutDir)$(AssemblyName).*.nupkg&amp;quot; &amp;quot;\\arup-dev\developer\NuGet Repository&amp;quot; )&lt;/pre&gt;
&lt;/div&gt;&lt;div class="ClearBoth"&gt;&lt;/div&gt;</description><author>Vaccano</author><pubDate>Tue, 29 May 2012 17:37:40 GMT</pubDate><guid isPermaLink="false">Updated Wiki: NuGet project's post build activity 20120529053740P</guid></item><item><title>Updated Wiki: Home</title><link>http://versionedtfsbuild.codeplex.com/wikipage?version=9</link><description>&lt;div class="wikidoc"&gt;&lt;h2&gt;Project Description&lt;/h2&gt;Versioned Build for TFS 2010.  Allows for 4 version numbers &amp;#40;Called Major, Minor, Emergency and Build&amp;#41;,  Will also update the build number into any AssemblyInfo files in the project before building &amp;#40;effectively giving your binaries the same version number&amp;#41;.
&lt;hr /&gt;
&lt;h2&gt;Setup&lt;/h2&gt;&lt;b&gt;Note:&lt;/b&gt; These instructions assume you have a basic build and build controller already created.  &lt;br /&gt;If you do not there are lots of tutorials on the web on how to set these up.&lt;br /&gt;&lt;blockquote&gt;&lt;h3&gt;File Setup&lt;/h3&gt;&lt;ol&gt;&lt;li&gt;Download the latest release&lt;/li&gt;
&lt;li&gt;Check the dlls into TFS 2010 in a common location for all your projects 
&lt;ul&gt;&lt;li&gt;For example &lt;i&gt;$/TFSCommon/CustomBuildActions&lt;/i&gt;&lt;/li&gt;&lt;/ul&gt;&lt;/li&gt;
&lt;li&gt;Check the VersionedBuildProcess.xaml into &lt;i&gt;$/YourProjectToBuild/BuildProcessTemplates&lt;/i&gt;&lt;/li&gt;
&lt;li&gt;Commit these pending changes to TFS 2010 (so they are really on the server).&lt;/li&gt;&lt;/ol&gt;

&lt;h3&gt;Build Controller Setup&lt;/h3&gt;&lt;ol&gt;&lt;li&gt;In Team Explorer right click on the &lt;i&gt;Build&lt;/i&gt; node of your project and select &lt;i&gt;Manage Build Controllers&lt;/i&gt;.&lt;/li&gt;
&lt;li&gt;In the resulting dialog select your controller and then select properties&lt;/li&gt;
&lt;li&gt;In the resulting dialog find the &amp;quot;Version control path to custom assemblies:&amp;quot; field.
&lt;ul&gt;&lt;li&gt;Enter the location that you put the dlls (ie &lt;i&gt;$/TFSCommon/CustomBuildActions&lt;/i&gt;)&lt;/li&gt;&lt;/ul&gt;&lt;/li&gt;&lt;/ol&gt;

&lt;h3&gt;Setup the build&lt;/h3&gt;&lt;ol&gt;&lt;li&gt;In Team Explorer right click on the &lt;i&gt;Build&lt;/i&gt; node of your project and select &lt;i&gt;Refresh&lt;/i&gt;.&lt;/li&gt;
&lt;li&gt;Right click on your build (under the &lt;i&gt;Build&lt;/i&gt; node of your project).&lt;/li&gt;
&lt;li&gt;Select &lt;i&gt;Edit Build Definition&lt;/i&gt;&lt;/li&gt;
&lt;li&gt;Select &lt;i&gt;Process&lt;/i&gt; from the list on the right.&lt;/li&gt;
&lt;li&gt;Select &lt;i&gt;Show details&lt;/i&gt; &lt;img src="http://i3.codeplex.com/Project/Download/FileDownload.aspx?ProjectName=VersionedTFSBuild&amp;DownloadId=205020" alt="ShowDetails.PNG" title="ShowDetails.PNG" /&gt;&lt;/li&gt;
&lt;li&gt;Select New&lt;/li&gt;
&lt;li&gt;In the resulting dialog, select the &lt;i&gt;Select an existing XAML file&lt;/i&gt; radio button&lt;/li&gt;
&lt;li&gt;Enter &lt;i&gt;$/YourProjectToBuild/BuildProcessTemplates/VersionedBuildProcess.xaml&lt;/i&gt; into the &lt;i&gt;Version control path:&lt;/i&gt;&lt;/li&gt;
&lt;li&gt;Select OK&lt;/li&gt;
&lt;li&gt;In the dropdown below &lt;i&gt;Build process file (Windows Workflow XAML):&lt;/i&gt; make sure that &lt;i&gt;VersionedBuildProcess.xaml&lt;/i&gt; is selected.&lt;/li&gt;
&lt;li&gt;In the grid below &lt;i&gt;Build process parameters&lt;/i&gt; find the &lt;i&gt;VersionFileLocation&lt;/i&gt; parameter
&lt;ul&gt;&lt;li&gt;Enter &lt;i&gt;$/YourProjectToBuild/BuildProcessTemplates&lt;/i&gt;  for the &lt;i&gt;VersionFileLocation&lt;/i&gt;&lt;/li&gt;&lt;/ul&gt;&lt;/li&gt;
&lt;li&gt;Create and check to TFS 2010 a file called &lt;i&gt;Version.txt&lt;/i&gt;
&lt;ul&gt;&lt;li&gt;File file MUST have only one line with four version numbers separated by a period (ie. 1.0.0.0)&lt;/li&gt;
&lt;li&gt;Check the file into &lt;i&gt;$/YourProjectToBuild/BuildProcessTemplates&lt;/i&gt;&lt;/li&gt;&lt;/ul&gt;&lt;/li&gt;
&lt;li&gt;Save and close the Build Definition changes&lt;/li&gt;&lt;/ol&gt;
&lt;br /&gt;That should be it.  Run your build and you should get build numbers for your TFS Build.  Also check the binaries output by your build.  They should have the same version number as the build does.
&lt;/blockquote&gt;&lt;hr /&gt;
&lt;h2&gt;Usage&lt;/h2&gt;This covers the other options found in the &lt;i&gt;Build process parameters&lt;/i&gt; grid. (See above for how to get to this grid.)&lt;br /&gt;&lt;blockquote&gt;&lt;h3&gt;Increasing Version Numbers&lt;/h3&gt;&lt;ol&gt;&lt;li&gt;&lt;b&gt;IsMajorBuild:&lt;/b&gt; Will increase the first number in the version when the next build happens. (Example 1.0.0.0 would become 2.0.0.0)
&lt;ul&gt;&lt;li&gt;This is can (and should) be set when the build is queued by selecting the &lt;i&gt;Parameters&lt;/i&gt; tab in the &lt;i&gt;Queue Build&lt;/i&gt; dialog box.&lt;/li&gt;&lt;/ul&gt;&lt;/li&gt;
&lt;li&gt;&lt;b&gt;IsMinorBuild:&lt;/b&gt; Will increase the second number in the version when the next build happens. (Example 1.0.0.0 would become 1.1.0.0)
&lt;ul&gt;&lt;li&gt;This is can (and should) be set when the build is queued by selecting the &lt;i&gt;Parameters&lt;/i&gt; tab in the &lt;i&gt;Queue Build&lt;/i&gt; dialog box.&lt;/li&gt;&lt;/ul&gt;&lt;/li&gt;
&lt;li&gt;&lt;b&gt;IsEmergencyBuild:&lt;/b&gt; Will increase the third number in the version when the next build happens. (Example 1.0.0.0 would become 1.0.1.0)
&lt;ul&gt;&lt;li&gt;This is can (and should) be set when the build is queued by selecting the &lt;i&gt;Parameters&lt;/i&gt; tab in the &lt;i&gt;Queue Build&lt;/i&gt; dialog box.&lt;/li&gt;&lt;/ul&gt;&lt;/li&gt;
&lt;li&gt;&lt;b&gt;AssemblyInfoMask:&lt;/b&gt;This is used to set the mask to define what files will have the search and replace done for the new version number.
&lt;ul&gt;&lt;li&gt;What ever files match this mask are looked in for an expression matching {new Regex(attribute + @&amp;quot;\(&amp;quot;&amp;quot;\d+\.\d+\.\d+\.\d+&amp;quot;&amp;quot;\)&amp;quot;)} (for example this would match &lt;i&gt;AssemblyFileVersion(&amp;quot;1.0.0.0&amp;quot;)&lt;/i&gt;)&lt;/li&gt;
&lt;li&gt;Matching expressions have the version number in them replaced with the new build number&lt;/li&gt;&lt;/ul&gt;&lt;/li&gt;
&lt;li&gt;&lt;b&gt;Version File:&lt;/b&gt; The name of the file that will hold the version number.  Defaults to Version.txt (that is what is used in the instructions above.
&lt;ul&gt;&lt;li&gt;This could be used to allow more than one version number per project.&lt;/li&gt;&lt;/ul&gt;&lt;/li&gt;
&lt;li&gt;&lt;b&gt;VersionFileLocation:&lt;/b&gt; This is where the version file is located.
&lt;ul&gt;&lt;li&gt;This could be used to allow more than one version number per project.&lt;/li&gt;&lt;/ul&gt;&lt;/li&gt;&lt;/ol&gt;
&lt;/blockquote&gt;&lt;/div&gt;&lt;div class="ClearBoth"&gt;&lt;/div&gt;</description><author>Vaccano</author><pubDate>Wed, 02 Feb 2011 22:23:57 GMT</pubDate><guid isPermaLink="false">Updated Wiki: Home 20110202102357P</guid></item><item><title>Updated Wiki: Home</title><link>http://versionedtfsbuild.codeplex.com/wikipage?version=8</link><description>&lt;div class="wikidoc"&gt;&lt;h2&gt;Project Description&lt;/h2&gt;Versioned Build for TFS 2010.  Allows for 4 version numbers &amp;#40;Called Major, Minor, Emergency and Build&amp;#41;,  Will also update the build number into any AssemblyInfo files in the project before building &amp;#40;effectively giving your binaries the same version number&amp;#41;.
&lt;hr /&gt;
&lt;h2&gt;Setup&lt;/h2&gt;&lt;b&gt;Note:&lt;/b&gt; These instructions assume you have a build and build controller already created.  &lt;br /&gt;If you do not there are lots of tutorials on the web on how to set these up.&lt;br /&gt;&lt;blockquote&gt;&lt;h3&gt;File Setup&lt;/h3&gt;&lt;ol&gt;&lt;li&gt;Download the latest release&lt;/li&gt;
&lt;li&gt;Check the dlls into TFS 2010 in a common location for all your projects 
&lt;ul&gt;&lt;li&gt;For example &lt;i&gt;$/TFSCommon/CustomBuildActions&lt;/i&gt;&lt;/li&gt;&lt;/ul&gt;&lt;/li&gt;
&lt;li&gt;Check the VersionedBuildProcess.xaml into &lt;i&gt;$/YourProjectToBuild/BuildProcessTemplates&lt;/i&gt;&lt;/li&gt;
&lt;li&gt;Commit these pending changes to TFS 2010 (so they are really on the server).&lt;/li&gt;&lt;/ol&gt;

&lt;h3&gt;Build Controller Setup&lt;/h3&gt;&lt;ol&gt;&lt;li&gt;In Team Explorer right click on the &lt;i&gt;Build&lt;/i&gt; node of your project and select &lt;i&gt;Manage Build Controllers&lt;/i&gt;.&lt;/li&gt;
&lt;li&gt;In the resulting dialog select your controller and then select properties&lt;/li&gt;
&lt;li&gt;In the resulting dialog find the &amp;quot;Version control path to custom assemblies:&amp;quot; field.
&lt;ul&gt;&lt;li&gt;Enter the location that you put the dlls (ie &lt;i&gt;$/TFSCommon/CustomBuildActions&lt;/i&gt;)&lt;/li&gt;&lt;/ul&gt;&lt;/li&gt;&lt;/ol&gt;

&lt;h3&gt;Setup the build&lt;/h3&gt;&lt;ol&gt;&lt;li&gt;In Team Explorer right click on the &lt;i&gt;Build&lt;/i&gt; node of your project and select &lt;i&gt;Refresh&lt;/i&gt;.&lt;/li&gt;
&lt;li&gt;Right click on your build (under the &lt;i&gt;Build&lt;/i&gt; node of your project).&lt;/li&gt;
&lt;li&gt;Select &lt;i&gt;Edit Build Definition&lt;/i&gt;&lt;/li&gt;
&lt;li&gt;Select &lt;i&gt;Process&lt;/i&gt; from the list on the right.&lt;/li&gt;
&lt;li&gt;Select &lt;i&gt;Show details&lt;/i&gt; &lt;img src="http://i3.codeplex.com/Project/Download/FileDownload.aspx?ProjectName=VersionedTFSBuild&amp;DownloadId=205020" alt="ShowDetails.PNG" title="ShowDetails.PNG" /&gt;&lt;/li&gt;
&lt;li&gt;Select New&lt;/li&gt;
&lt;li&gt;In the resulting dialog, select the &lt;i&gt;Select an existing XAML file&lt;/i&gt; radio button&lt;/li&gt;
&lt;li&gt;Enter &lt;i&gt;$/YourProjectToBuild/BuildProcessTemplates/VersionedBuildProcess.xaml&lt;/i&gt; into the &lt;i&gt;Version control path:&lt;/i&gt;&lt;/li&gt;
&lt;li&gt;Select OK&lt;/li&gt;
&lt;li&gt;In the dropdown below &lt;i&gt;Build process file (Windows Workflow XAML):&lt;/i&gt; make sure that &lt;i&gt;VersionedBuildProcess.xaml&lt;/i&gt; is selected.&lt;/li&gt;
&lt;li&gt;In the grid below &lt;i&gt;Build process parameters&lt;/i&gt; find the &lt;i&gt;VersionFileLocation&lt;/i&gt; parameter
&lt;ul&gt;&lt;li&gt;Enter &lt;i&gt;$/YourProjectToBuild/BuildProcessTemplates&lt;/i&gt;  for the &lt;i&gt;VersionFileLocation&lt;/i&gt;&lt;/li&gt;&lt;/ul&gt;&lt;/li&gt;
&lt;li&gt;Create and check to TFS 2010 a file called &lt;i&gt;Version.txt&lt;/i&gt;
&lt;ul&gt;&lt;li&gt;File file MUST have only one line with four version numbers separated by a period (ie. 1.0.0.0)&lt;/li&gt;
&lt;li&gt;Check the file into &lt;i&gt;$/YourProjectToBuild/BuildProcessTemplates&lt;/i&gt;&lt;/li&gt;&lt;/ul&gt;&lt;/li&gt;
&lt;li&gt;Save and close the Build Definition changes&lt;/li&gt;&lt;/ol&gt;
&lt;br /&gt;That should be it.  Run your build and you should get build numbers for your TFS Build.  Also check the binaries output by your build.  They should have the same version number as the build does.
&lt;/blockquote&gt;&lt;hr /&gt;
&lt;h2&gt;Usage&lt;/h2&gt;This covers the other options found in the &lt;i&gt;Build process parameters&lt;/i&gt; grid. (See above for how to get to this grid.)&lt;br /&gt;&lt;blockquote&gt;&lt;h3&gt;Increasing Version Numbers&lt;/h3&gt;&lt;ol&gt;&lt;li&gt;&lt;b&gt;IsMajorBuild:&lt;/b&gt; Will increase the first number in the version when the next build happens. (Example 1.0.0.0 would become 2.0.0.0)
&lt;ul&gt;&lt;li&gt;This is can (and should) be set when the build is queued by selecting the &lt;i&gt;Parameters&lt;/i&gt; tab in the &lt;i&gt;Queue Build&lt;/i&gt; dialog box.&lt;/li&gt;&lt;/ul&gt;&lt;/li&gt;
&lt;li&gt;&lt;b&gt;IsMinorBuild:&lt;/b&gt; Will increase the second number in the version when the next build happens. (Example 1.0.0.0 would become 1.1.0.0)
&lt;ul&gt;&lt;li&gt;This is can (and should) be set when the build is queued by selecting the &lt;i&gt;Parameters&lt;/i&gt; tab in the &lt;i&gt;Queue Build&lt;/i&gt; dialog box.&lt;/li&gt;&lt;/ul&gt;&lt;/li&gt;
&lt;li&gt;&lt;b&gt;IsEmergencyBuild:&lt;/b&gt; Will increase the third number in the version when the next build happens. (Example 1.0.0.0 would become 1.0.1.0)
&lt;ul&gt;&lt;li&gt;This is can (and should) be set when the build is queued by selecting the &lt;i&gt;Parameters&lt;/i&gt; tab in the &lt;i&gt;Queue Build&lt;/i&gt; dialog box.&lt;/li&gt;&lt;/ul&gt;&lt;/li&gt;
&lt;li&gt;&lt;b&gt;AssemblyInfoMask:&lt;/b&gt;This is used to set the mask to define what files will have the search and replace done for the new version number.
&lt;ul&gt;&lt;li&gt;What ever files match this mask are looked in for an expression matching {new Regex(attribute + @&amp;quot;\(&amp;quot;&amp;quot;\d+\.\d+\.\d+\.\d+&amp;quot;&amp;quot;\)&amp;quot;)} (for example this would match &lt;i&gt;AssemblyFileVersion(&amp;quot;1.0.0.0&amp;quot;)&lt;/i&gt;)&lt;/li&gt;
&lt;li&gt;Matching expressions have the version number in them replaced with the new build number&lt;/li&gt;&lt;/ul&gt;&lt;/li&gt;
&lt;li&gt;&lt;b&gt;Version File:&lt;/b&gt; The name of the file that will hold the version number.  Defaults to Version.txt (that is what is used in the instructions above.
&lt;ul&gt;&lt;li&gt;This could be used to allow more than one version number per project.&lt;/li&gt;&lt;/ul&gt;&lt;/li&gt;
&lt;li&gt;&lt;b&gt;VersionFileLocation:&lt;/b&gt; This is where the version file is located.
&lt;ul&gt;&lt;li&gt;This could be used to allow more than one version number per project.&lt;/li&gt;&lt;/ul&gt;&lt;/li&gt;&lt;/ol&gt;
&lt;/blockquote&gt;&lt;/div&gt;&lt;div class="ClearBoth"&gt;&lt;/div&gt;</description><author>Vaccano</author><pubDate>Wed, 02 Feb 2011 22:08:16 GMT</pubDate><guid isPermaLink="false">Updated Wiki: Home 20110202100816P</guid></item><item><title>Updated Wiki: Home</title><link>http://versionedtfsbuild.codeplex.com/wikipage?version=7</link><description>&lt;div class="wikidoc"&gt;&lt;h2&gt;Project Description&lt;/h2&gt;Versioned Build for TFS 2010.  Allows for 4 version numbers &amp;#40;Called Major, Minor, Emergency and Build&amp;#41;,  Will also update the build number into any AssemblyInfo files in the project before building &amp;#40;effectively giving your binaries the same version number&amp;#41;.
&lt;hr /&gt;
&lt;h2&gt;Setup&lt;/h2&gt;&lt;b&gt;Note:&lt;/b&gt; These instructions assume you have a build and build controller already created.  &lt;br /&gt;If you do not there are lots of tutorials on the web on how to set these up.&lt;br /&gt;&lt;blockquote&gt;&lt;h3&gt;File Setup&lt;/h3&gt;&lt;ol&gt;&lt;li&gt;Download the latest release&lt;/li&gt;
&lt;li&gt;Check the dlls into TFS 2010 in a common location for all your projects 
&lt;ul&gt;&lt;li&gt;For example &lt;i&gt;$/TFSCommon/CustomBuildActions&lt;/i&gt;&lt;/li&gt;&lt;/ul&gt;&lt;/li&gt;
&lt;li&gt;Check the VersionedBuildProcess.xaml into &lt;i&gt;$/YourProjectToBuild/BuildProcessTemplates&lt;/i&gt;&lt;/li&gt;
&lt;li&gt;Commit these pending changes to TFS 2010 (so they are really on the server).&lt;/li&gt;&lt;/ol&gt;

&lt;h3&gt;Build Controller Setup&lt;/h3&gt;&lt;ol&gt;&lt;li&gt;In Team Explorer right click on the &lt;i&gt;Build&lt;/i&gt; node of your project and select &lt;i&gt;Manage Build Controllers&lt;/i&gt;.&lt;/li&gt;
&lt;li&gt;In the resulting dialog select your controller and then select properties&lt;/li&gt;
&lt;li&gt;In the resulting dialog find the &amp;quot;Version control path to custom assemblies:&amp;quot; field.
&lt;ul&gt;&lt;li&gt;Enter the location that you put the dlls (ie &lt;i&gt;$/TFSCommon/CustomBuildActions&lt;/i&gt;)&lt;/li&gt;&lt;/ul&gt;&lt;/li&gt;&lt;/ol&gt;

&lt;h3&gt;Setup the build&lt;/h3&gt;&lt;ol&gt;&lt;li&gt;In Team Explorer right click on the &lt;i&gt;Build&lt;/i&gt; node of your project and select &lt;i&gt;Refresh&lt;/i&gt;.&lt;/li&gt;
&lt;li&gt;Right click on your build (under the &lt;i&gt;Build&lt;/i&gt; node of your project).&lt;/li&gt;
&lt;li&gt;Select &lt;i&gt;Edit Build Definition&lt;/i&gt;&lt;/li&gt;
&lt;li&gt;Select &lt;i&gt;Process&lt;/i&gt; from the list on the right.&lt;/li&gt;
&lt;li&gt;Select &lt;i&gt;Show details&lt;/i&gt; &lt;img src="http://i3.codeplex.com/Project/Download/FileDownload.aspx?ProjectName=VersionedTFSBuild&amp;DownloadId=205020" alt="ShowDetails.PNG" title="ShowDetails.PNG" /&gt;&lt;/li&gt;
&lt;li&gt;Select New&lt;/li&gt;
&lt;li&gt;In the resulting dialog, select the &lt;i&gt;Select an existing XAML file&lt;/i&gt; radio button&lt;/li&gt;
&lt;li&gt;Enter &lt;i&gt;$/YourProjectToBuild/BuildProcessTemplates/VersionedBuildProcess.xaml&lt;/i&gt; into the &lt;i&gt;Version control path:&lt;/i&gt;&lt;/li&gt;
&lt;li&gt;Select OK&lt;/li&gt;
&lt;li&gt;In the dropdown below &lt;i&gt;Build process file (Windows Workflow XAML):&lt;/i&gt; make sure that &lt;i&gt;VersionedBuildProcess.xaml&lt;/i&gt; is selected.&lt;/li&gt;
&lt;li&gt;In the grid below &lt;i&gt;Build process parameters&lt;/i&gt; find the &lt;i&gt;VersionFileLocation&lt;/i&gt; parameter
&lt;ul&gt;&lt;li&gt;Enter &lt;i&gt;$/YourProjectToBuild/BuildProcessTemplates&lt;/i&gt;  for the &lt;i&gt;VersionFileLocation&lt;/i&gt;&lt;/li&gt;&lt;/ul&gt;&lt;/li&gt;
&lt;li&gt;Create and check to TFS 2010 a file called &lt;i&gt;Version.txt&lt;/i&gt;
&lt;ul&gt;&lt;li&gt;File file MUST have only one line with four version numbers separated by a period (ie. 1.0.0.0)&lt;/li&gt;
&lt;li&gt;Check the file into &lt;i&gt;$/YourProjectToBuild/BuildProcessTemplates&lt;/i&gt;&lt;/li&gt;&lt;/ul&gt;&lt;/li&gt;
&lt;li&gt;Save and close the Build Definition changes&lt;/li&gt;&lt;/ol&gt;
&lt;br /&gt;That should be it.  Run your build and you should get build numbers for your TFS Build.  Also check the binaries output by your build.  They should have the same version number as the build does.
&lt;/blockquote&gt;&lt;hr /&gt;
&lt;h2&gt;Usage&lt;/h2&gt;This covers the other options found in the &lt;i&gt;Build process parameters&lt;/i&gt; grid. (See above for how to get to this grid.)&lt;br /&gt;&lt;blockquote&gt;&lt;h3&gt;Increasing Version Numbers&lt;/h3&gt;&lt;ol&gt;&lt;li&gt;&lt;b&gt;IsMajorBuild:&lt;/b&gt; Will increase the first number in the version when the next build happens. (Example 1.0.0.0 would become 2.0.0.0)
&lt;ul&gt;&lt;li&gt;This is can (and should) be set when the build is queued by selecting the &lt;i&gt;Parameters&lt;/i&gt; tab in the &lt;i&gt;Queue Build&lt;/i&gt; dialog box.&lt;/li&gt;&lt;/ul&gt;&lt;/li&gt;
&lt;li&gt;&lt;b&gt;IsMinorBuild:&lt;/b&gt; Will increase the second number in the version when the next build happens. (Example 1.0.0.0 would become 1.1.0.0)
&lt;ul&gt;&lt;li&gt;This is can (and should) be set when the build is queued by selecting the &lt;i&gt;Parameters&lt;/i&gt; tab in the &lt;i&gt;Queue Build&lt;/i&gt; dialog box.&lt;/li&gt;&lt;/ul&gt;&lt;/li&gt;
&lt;li&gt;&lt;b&gt;IsEmergencyBuild:&lt;/b&gt; Will increase the third number in the version when the next build happens. (Example 1.0.0.0 would become 1.0.1.0)
&lt;ul&gt;&lt;li&gt;This is can (and should) be set when the build is queued by selecting the &lt;i&gt;Parameters&lt;/i&gt; tab in the &lt;i&gt;Queue Build&lt;/i&gt; dialog box.&lt;/li&gt;&lt;/ul&gt;&lt;/li&gt;
&lt;li&gt;&lt;b&gt;AssemblyInfoMask:&lt;/b&gt;This is used to set the mask to define what files will have the search and replace done for the new version number.
&lt;ul&gt;&lt;li&gt;What ever files match this mask are looked in for an expression matching {new Regex(attribute + @&amp;quot;\(&amp;quot;&amp;quot;\d+\.\d+\.\d+\.\d+&amp;quot;&amp;quot;\)&amp;quot;)} (for example this would match &lt;i&gt;AssemblyFileVersion(&amp;quot;1.0.0.0&amp;quot;)&lt;/i&gt;)&lt;/li&gt;
&lt;li&gt;Matching expressions have the version number in them replaced with the new build number&lt;/li&gt;&lt;/ul&gt;&lt;/li&gt;
&lt;li&gt;&lt;b&gt;Version File:&lt;/b&gt; The name of the file that will hold the version number.  Defaults to Version.txt (that is what is used in the instructions above.
&lt;ul&gt;&lt;li&gt;This could be used to allow more than one version number per project.&lt;/li&gt;&lt;/ul&gt;&lt;/li&gt;
&lt;li&gt;&lt;b&gt;VersionFileLocation:&lt;/b&gt; This is where the version file is located.
&lt;ul&gt;&lt;li&gt;This could be used to allow more than one version number per project.&lt;/li&gt;&lt;/ul&gt;&lt;/li&gt;&lt;/ol&gt;

&lt;ol&gt;&lt;li&gt;# &lt;/li&gt;&lt;/ol&gt;
&lt;/blockquote&gt;&lt;/div&gt;&lt;div class="ClearBoth"&gt;&lt;/div&gt;</description><author>Vaccano</author><pubDate>Wed, 02 Feb 2011 22:07:47 GMT</pubDate><guid isPermaLink="false">Updated Wiki: Home 20110202100747P</guid></item></channel></rss>