<?xml version="1.0"?><?xml-stylesheet type="text/xsl" href="http://www.codeplex.com/rss.xsl"?><rss version="2.0"><channel><title>UpdateVersion</title><link>http://www.codeplex.com/UpdateVersion/Project/ProjectRss.aspx</link><description>UpdateVersion is a command-line utility that can update .NET AssemblyInfo files in any language. Typically, UpdateVersion is used in conjunction with Nant build scripts to autogenerate new version ...</description><item><title>Commented Issue: Problem when not passing in a -p parameter</title><link>http://www.codeplex.com/UpdateVersion/WorkItem/View.aspx?WorkItemId=1572</link><description>I am getting an exception when trying to pass this UpdateVersion command&amp;#58; &amp;#34;UpdateVersion -v Assembly -b Fixed -r Increment -i AssemblyInfo.vb -o test.txt&amp;#34;&lt;br /&gt;Comments: ** Comment from web user: dhunt ** &lt;p&gt;Sorry, tried to add a new line and accidentally submitted the form&lt;br /&gt;The exception is&amp;#58; &amp;#34;System.NullReferenceException&amp;#58; Object reference not set to instance of an object.&lt;br /&gt;at MattGriffith.UpdateVersion.VersionUpdater..ctor&amp;#40;String input, Options options&amp;#41;&lt;br /&gt;at  MattGriffith.UpdateVersion.RunUpdateVersion.Main&amp;#40;String&amp;#91;&amp;#93; args&amp;#41;&amp;#34;&lt;/p&gt;</description><author>dhunt</author><pubDate>Wed, 25 Jun 2008 22:41:41 GMT</pubDate><guid isPermaLink="false">Commented Issue: Problem when not passing in a -p parameter 20080625104141P</guid></item><item><title>Created Issue: Problem when not passing in a -p parameter</title><link>http://www.codeplex.com/UpdateVersion/WorkItem/View.aspx?WorkItemId=1572</link><description>I am getting an exception when trying to pass this UpdateVersion command&amp;#58; &amp;#34;UpdateVersion -v Assembly -b Fixed -r Increment -i AssemblyInfo.vb -o test.txt&amp;#34;&lt;br /&gt;</description><author>dhunt</author><pubDate>Wed, 25 Jun 2008 22:39:40 GMT</pubDate><guid isPermaLink="false">Created Issue: Problem when not passing in a -p parameter 20080625103940P</guid></item><item><title>UPDATED WIKI: User Guide</title><link>http://www.codeplex.com/UpdateVersion/Wiki/View.aspx?title=User Guide&amp;version=3</link><description>&lt;div class="wikidoc"&gt;
&lt;h1&gt;
User Guide
&lt;/h1&gt;&lt;i&gt;&lt;b&gt;See also:&lt;/b&gt; &lt;a href="http://code.mattgriffith.net/UpdateVersion" class="externalLink"&gt;Matt Griffith's original user guide&lt;span class="externalLinkIcon"&gt;&lt;/span&gt;&lt;/a&gt;. The following started out as an adaptation of that.&lt;/i&gt;&lt;br /&gt; &lt;br /&gt;&lt;h2&gt;
Overview
&lt;/h2&gt;UpdateVersion searches its input for a .NET &lt;span class="codeInline"&gt;AssemblyVersion&lt;/span&gt; attribute and calculates a new version number using one of several algorithms. Input can be either a file or the standard input stream. Output options are the same -- either a file or the standard output stream. UpdateVersion is typically used to update &lt;span class="codeInline"&gt;AssemblyInfo.*&lt;/span&gt; files as part of a build script, batch file, or make file. New versions consist of an updated build and/or revision number. The build number can either be incremented by one or calculated based on the project start date. Revision numbers are either incremented or based on the number of seconds since midnight.&lt;br /&gt; &lt;br /&gt;&lt;i&gt;&lt;b&gt;Note:&lt;/b&gt; Build number format is &lt;span class="codeInline"&gt;&amp;lt;major&amp;gt;.&amp;lt;minor&amp;gt;.&amp;lt;build&amp;gt;.&amp;lt;revision&amp;gt;&lt;/span&gt;&lt;/i&gt;&lt;br /&gt; &lt;br /&gt;&lt;h2&gt;
Command Line Options
&lt;/h2&gt;&lt;table&gt;
&lt;tr&gt;
&lt;th&gt; Short Form &lt;/th&gt;&lt;th&gt; Long Form &lt;/th&gt;&lt;th&gt; Valid Values &lt;/th&gt;&lt;th&gt; Description &lt;/th&gt;
&lt;/tr&gt;&lt;tr&gt;
&lt;td&gt; -s &lt;/td&gt;&lt;td&gt; --startdate &lt;/td&gt;&lt;td&gt; Any date string which &lt;span class="codeInline"&gt;DateTime&lt;/span&gt; can parse for the current culture (i.e. &lt;span class="codeInline"&gt;2002-11-23&lt;/span&gt;) &lt;/td&gt;&lt;td&gt; The date the project started. The &lt;span class="codeInline"&gt;startdate&lt;/span&gt; option is required if the &lt;span class="codeInline"&gt;MonthDay&lt;/span&gt; build type is specified; otherwise, the &lt;span class="codeInline"&gt;startdate&lt;/span&gt; option is ignored. &lt;/td&gt;
&lt;/tr&gt;&lt;tr&gt;
&lt;td&gt; -b &lt;/td&gt;&lt;td&gt; --build &lt;/td&gt;&lt;td&gt; &lt;span class="codeInline"&gt;Fixed | MonthDay | Increment | BuildDay&lt;/span&gt; &lt;/td&gt;&lt;td&gt; The algorithm used to calculate the build number. The default is &lt;span class="codeInline"&gt;Fixed&lt;/span&gt; meaning the build number will remain the same if you do not specify one of the other build algorithms. &lt;span class="codeInline"&gt;MonthDay&lt;/span&gt; calculates the build number based on &lt;span class="codeInline"&gt;[monthssincestart][dayofmonth]&lt;/span&gt;. &lt;span class="codeInline"&gt;BuildDay&lt;/span&gt; calculates the build number based on &lt;span class="codeInline"&gt;[lastdigitofyear][dayofyear]&lt;/span&gt;. &lt;/td&gt;
&lt;/tr&gt;&lt;tr&gt;
&lt;td&gt; -p &lt;/td&gt;&lt;td&gt; --pin &lt;/td&gt;&lt;td&gt; A version number in the &lt;span class="codeInline"&gt;x.x.x.x&lt;/span&gt; format. &lt;/td&gt;&lt;td&gt; The version number to output. The pin option allows you to pin the version number. &lt;/td&gt;
&lt;/tr&gt;&lt;tr&gt;
&lt;td&gt; -r &lt;/td&gt;&lt;td&gt; --revision &lt;/td&gt;&lt;td&gt; &lt;span class="codeInline"&gt;Fixed | Automatic | Increment&lt;/span&gt; &lt;/td&gt;&lt;td&gt; The algorithm used to calculate the revision number. &lt;span class="codeInline"&gt;Automatic&lt;/span&gt; calculates the revision number based on &lt;span class="codeInline"&gt;[secsincemidnight/10]&lt;/span&gt;. &lt;span class="codeInline"&gt;Increment&lt;/span&gt; calculates the revision number by incrementing the current revision number by one. &lt;span class="codeInline"&gt;Fixed&lt;/span&gt; causes the revision number to remain the same. &lt;/td&gt;
&lt;/tr&gt;&lt;tr&gt;
&lt;td&gt; -i &lt;/td&gt;&lt;td&gt; --inputfile &lt;/td&gt;&lt;td&gt; Path to an existing file. &lt;/td&gt;&lt;td&gt; The file to use as the input. If the &lt;span class="codeInline"&gt;inputfile&lt;/span&gt; option is not present the standard input stream is used. &lt;/td&gt;
&lt;/tr&gt;&lt;tr&gt;
&lt;td&gt; -o &lt;/td&gt;&lt;td&gt; --outputfile &lt;/td&gt;&lt;td&gt; A valid filename. &lt;/td&gt;&lt;td&gt; The file to write to. If not specified, the standard output stream is used. &lt;/td&gt;
&lt;/tr&gt;&lt;tr&gt;
&lt;td&gt; -v &lt;/td&gt;&lt;td&gt; --version &lt;/td&gt;&lt;td&gt; &lt;span class="codeInline"&gt;Assembly | File&lt;/span&gt; &lt;/td&gt;&lt;td&gt; The version number to update. The default is &lt;span class="codeInline"&gt;Assembly&lt;/span&gt; which is backward compatible with previous versions. Use &lt;span class="codeInline"&gt;–v Assembly&lt;/span&gt; to update the &lt;span class="codeInline"&gt;AssemblyVersion&lt;/span&gt; attribute. Use &lt;span class="codeInline"&gt;–v File&lt;/span&gt; to update the &lt;span class="codeInline"&gt;AssemblyFileVersion&lt;/span&gt; attribute. &lt;/td&gt;
&lt;/tr&gt;&lt;tr&gt;
&lt;td&gt; -w &lt;/td&gt;&lt;td&gt; --write &lt;/td&gt;&lt;td&gt; &lt;i&gt;N/A&lt;/i&gt; &lt;/td&gt;&lt;td&gt; Writes the version number (and only the version number) to the output stream. &lt;/td&gt;
&lt;/tr&gt;
&lt;/table&gt;&lt;h2&gt;
Return Values
&lt;/h2&gt;&lt;table&gt;
&lt;tr&gt;
&lt;td&gt; 0 &lt;/td&gt;&lt;td&gt; UpdateVersion successfully read the input and wrote the output. Note: UpdateVersion returns 0 even when it does not find an AssemblyVersion attribute string to update in the input. If that happens UpdateVersion writes a warning to the standard error stream. &lt;/td&gt;
&lt;/tr&gt;&lt;tr&gt;
&lt;td&gt; 1 &lt;/td&gt;&lt;td&gt; UpdateVersion was unable to parse the command line options. See the standard error stream for more information. Note: UpdateVersion does not write to the output when this happens. &lt;/td&gt;
&lt;/tr&gt;&lt;tr&gt;
&lt;td&gt; 2 &lt;/td&gt;&lt;td&gt; UpdateVersion was unable to read the input. See the standard error stream for more information. Note: UpdateVersion does not write to the output when this happens. &lt;/td&gt;
&lt;/tr&gt;&lt;tr&gt;
&lt;td&gt; 3 &lt;/td&gt;&lt;td&gt; An error occurred while UpdateVersion was searching for the AssemblyVersion attribute or while it was calculating the new version number. See the standard error stream for more information. Note: UpdateVersion does not write to the output when this happens. &lt;/td&gt;
&lt;/tr&gt;&lt;tr&gt;
&lt;td&gt; 4 &lt;/td&gt;&lt;td&gt; UpdateVersion was unable to write the output. See the standard error stream for more information. Note: UpdateVersion does not write to the output when this happens. &lt;/td&gt;
&lt;/tr&gt;
&lt;/table&gt; &lt;br /&gt;&lt;h2&gt;
Usage Examples
&lt;/h2&gt; &lt;br /&gt;&lt;h3&gt;
Command Line or Batch File
&lt;/h3&gt; &lt;br /&gt;&lt;h4&gt;
Standard input and standard output
&lt;/h4&gt;&lt;table&gt;
&lt;tr&gt;
&lt;th&gt; Command &lt;/th&gt;&lt;th&gt; Expected Output &lt;/th&gt;
&lt;/tr&gt;&lt;tr&gt;
&lt;td&gt; &lt;span class="codeInline"&gt;C:\&amp;gt;echo AssemblyVersion(&amp;quot;1.0.0.0&amp;quot;) | UpdateVersion&lt;/span&gt; &lt;/td&gt;&lt;td&gt; &lt;span class="codeInline"&gt;AssemblyVersion(&amp;quot;1.0.0.8298&amp;quot;)&lt;/span&gt; &lt;/td&gt;
&lt;/tr&gt;&lt;tr&gt;
&lt;td&gt; &lt;span class="codeInline"&gt;C:\&amp;gt;echo AssemblyVersion(&amp;quot;1.0.0.0&amp;quot;) | UpdateVersion -b Increment&lt;/span&gt; &lt;/td&gt;&lt;td&gt; &lt;span class="codeInline"&gt;AssemblyVersion(&amp;quot;1.0.1.8310&amp;quot;)&lt;/span&gt; &lt;/td&gt;
&lt;/tr&gt;&lt;tr&gt;
&lt;td&gt; &lt;span class="codeInline"&gt;C:\&amp;gt;echo AssemblyVersion(&amp;quot;1.0.0.0&amp;quot;) | UpdateVersion -b Increment -r Increment&lt;/span&gt; &lt;/td&gt;&lt;td&gt; &lt;span class="codeInline"&gt;AssemblyVersion(&amp;quot;1.0.1.1&amp;quot;)&lt;/span&gt; &lt;/td&gt;
&lt;/tr&gt;&lt;tr&gt;
&lt;td&gt; &lt;span class="codeInline"&gt;C:\&amp;gt;echo AssemblyVersion(&amp;quot;1.0.0.0&amp;quot;) | UpdateVersion -b MonthDay -s 2002-11-23&lt;/span&gt; &lt;/td&gt;&lt;td&gt; &lt;span class="codeInline"&gt;AssemblyVersion(&amp;quot;1.0.23.8335&amp;quot;)&lt;/span&gt; &lt;/td&gt;
&lt;/tr&gt;&lt;tr&gt;
&lt;td&gt; &lt;span class="codeInline"&gt;C:\&amp;gt;echo AssemblyVersion(&amp;quot;1.0.0.0&amp;quot;) | UpdateVersion -b MonthDay -s 2000-11-23&lt;/span&gt; &lt;/td&gt;&lt;td&gt; &lt;span class="codeInline"&gt;AssemblyVersion(&amp;quot;1.0.2423.8339&amp;quot;)&lt;/span&gt; &lt;/td&gt;
&lt;/tr&gt;&lt;tr&gt;
&lt;td&gt; &lt;span class="codeInline"&gt;C:\&amp;gt;echo AssemblyVersion(&amp;quot;1.0.0.0&amp;quot;) | UpdateVersion -b MonthDay -s 11/23/2000&lt;/span&gt; &lt;/td&gt;&lt;td&gt; &lt;span class="codeInline"&gt;AssemblyVersion(&amp;quot;1.0.2423.8339&amp;quot;)&lt;/span&gt; &lt;/td&gt;
&lt;/tr&gt;&lt;tr&gt;
&lt;td&gt; &lt;span class="codeInline"&gt;C:\&amp;gt;echo AssemblyVersion(&amp;quot;1.0.0.0&amp;quot;) | UpdateVersion -p 1.2.3.4&lt;/span&gt; &lt;/td&gt;&lt;td&gt; &lt;span class="codeInline"&gt;AssemblyVersion(&amp;quot;1.2.3.4&amp;quot;)&lt;/span&gt; &lt;/td&gt;
&lt;/tr&gt;&lt;tr&gt;
&lt;td&gt; &lt;span class="codeInline"&gt;C:\&amp;gt;echo AssemblyVersion(&amp;quot;1.0.0.0&amp;quot;) | UpdateVersion -b BuildDay&lt;/span&gt; &lt;/td&gt;&lt;td&gt; &lt;span class="codeInline"&gt;AssemblyVersion(&amp;quot;1.0.3298.7453&amp;quot;)&lt;/span&gt; &lt;/td&gt;
&lt;/tr&gt;&lt;tr&gt;
&lt;td&gt; &lt;span class="codeInline"&gt;C:\&amp;gt;echo AssemblyVersion(&amp;quot;1.0.0.0&amp;quot;) | UpdateVersion -b Increment -r Fixed&lt;/span&gt; &lt;/td&gt;&lt;td&gt; &lt;span class="codeInline"&gt;AssemblyVersion(&amp;quot;1.0.1.0&amp;quot;)&lt;/span&gt; &lt;/td&gt;
&lt;/tr&gt;&lt;tr&gt;
&lt;td&gt; &lt;span class="codeInline"&gt;C:\&amp;gt;echo AssemblyFileVersion(&amp;quot;1.0.0.0&amp;quot;) | UpdateVersion -v File&lt;/span&gt; &lt;/td&gt;&lt;td&gt; &lt;span class="codeInline"&gt;AssemblyFileVersion(&amp;quot;1.0.0.7517&amp;quot;)&lt;/span&gt; &lt;/td&gt;
&lt;/tr&gt;
&lt;/table&gt; &lt;br /&gt;&lt;h4&gt;
Redirecting to and from standard input and standard output
&lt;/h4&gt;&lt;span class="codeInline"&gt;C:\&amp;gt;UpdateVersion -b Increment &amp;lt; Input.txt &amp;gt; Output.txt&lt;/span&gt;&lt;br /&gt; &lt;br /&gt;&lt;h4&gt;
Specify the input and output files on the command line
&lt;/h4&gt;&lt;span class="codeInline"&gt;C:\&amp;gt;UpdateVersion -b Increment -i Input.txt -o Output.txt&lt;/span&gt;&lt;br /&gt; &lt;br /&gt;You can mix and match all of these techniques so you could easily specify an input file on the command line and write the output to standard output like so:&lt;br /&gt;&lt;span class="codeInline"&gt;C:\&amp;gt;UpdateVersion -b Increment -i Input.txt&lt;/span&gt;&lt;br /&gt; &lt;br /&gt;To specify the output file on the command line and read the input from standard input do this:&lt;br /&gt;&lt;span class="codeInline"&gt;C:\&amp;gt;echo AssemblyVersion(&amp;quot;1.0.0.0&amp;quot;) | UpdateVersion -b Increment –o Output.txt&lt;/span&gt;&lt;br /&gt; &lt;br /&gt;&lt;h3&gt;
Use UpdateVersion with Visual Studio
&lt;/h3&gt;You can add UpdateVersion to the &lt;span class="codeInline"&gt;Tools&lt;/span&gt; menu as an &lt;span class="codeInline"&gt;External Tool&lt;/span&gt;. You can then select the UpdateVersion command from the menu to update your &lt;span class="codeInline"&gt;AssemblyInfo.*&lt;/span&gt; file. Just select &lt;span class="codeInline"&gt;Tools &amp;gt; External Tools... &amp;gt; Add&lt;/span&gt; and enter values similar to the following:&lt;br /&gt; &lt;br /&gt;&lt;b&gt;Title:&lt;/b&gt; Update Version Number&lt;br /&gt;&lt;b&gt;Command:&lt;/b&gt; UpdateVersion.exe      &lt;br /&gt;&lt;b&gt;Arguments:&lt;/b&gt; -b MonthDay -s 2002-11-23 -i &amp;quot;AssemblyInfo.cs&amp;quot; -o &amp;quot;AssemblyInfo.cs&amp;quot; &lt;br /&gt;&lt;b&gt;Initial directory:&lt;/b&gt; $(ProjectDir)&lt;br /&gt;&lt;b&gt;Use Output window:&lt;/b&gt; Checked&lt;br /&gt; &lt;br /&gt;If UpdateVersion is not in your &lt;span class="codeInline"&gt;PATH&lt;/span&gt; you will need to provide the full path where UpdateVersion can be found. You can specify any valid options for the arguments. &lt;br /&gt; &lt;br /&gt;&lt;h3&gt;
Use UpdateVersion in a Makefile
&lt;/h3&gt;Create a new Makefile with the following contents:&lt;br /&gt;&lt;pre&gt;
test: 
    UpdateVersion -b MonthDay -s 2002-01-21 -i Input.txt -o Output.txt
&lt;/pre&gt;Then run &lt;span class="codeInline"&gt;nmake&lt;/span&gt;. &lt;br /&gt; &lt;br /&gt;&lt;h3&gt;
Use UpdateVersion with NAnt
&lt;/h3&gt;Create a new NAnt script named &lt;span class="codeInline"&gt;Test.build&lt;/span&gt; with the following contents:&lt;br /&gt;&lt;pre&gt;
&amp;lt;project name=&amp;quot;ExecTest&amp;quot; default=&amp;quot;test&amp;quot;&amp;gt;
  &amp;lt;tstamp/&amp;gt;
  &amp;lt;target name=&amp;quot;test&amp;quot; description=&amp;quot;tests using exec to run UpdateVersion.exe&amp;quot;&amp;gt;
    &amp;lt;echo message=&amp;quot;********************************************************************&amp;quot;/&amp;gt;
    &amp;lt;echo message=&amp;quot;** Running UpdateVersion.exe.&amp;quot;/&amp;gt;
    &amp;lt;exec program=&amp;quot;UpdateVersion.exe&amp;quot; commandline=&amp;quot;-b MonthDay -s 2002-01-21 -i Input.txt -o Output.txt&amp;quot; verbose=&amp;quot;true&amp;quot; failonerror=&amp;quot;true&amp;quot; /&amp;gt;
    &amp;lt;echo message=&amp;quot;** End of Tests&amp;quot;/&amp;gt;
    &amp;lt;echo message=&amp;quot;********************************************************************&amp;quot;/&amp;gt;
  &amp;lt;/target&amp;gt;
&amp;lt;/project&amp;gt;
&lt;/pre&gt;Then run NAnt. &lt;br /&gt; &lt;br /&gt;Because UpdateVersion returns a non-zero value when it fails your NAnt script will fail as long as the exec tasks' &lt;span class="codeInline"&gt;failonerror&lt;/span&gt; option is &lt;span class="codeInline"&gt;true&lt;/span&gt;.&lt;br /&gt; &lt;br /&gt;&lt;h2&gt;
Additional Resources
&lt;/h2&gt;&lt;ul&gt;
&lt;li&gt;&lt;a href="http://geekswithblogs.net/flanakin/archive/2004/08/16/9763.aspx" class="externalLink"&gt;Versioning with Nant&lt;span class="externalLinkIcon"&gt;&lt;/span&gt;&lt;/a&gt; by &lt;a href="http://www.michaelflanakin.com" class="externalLink"&gt;Michael Flanakin&lt;span class="externalLinkIcon"&gt;&lt;/span&gt;&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="http://www.codeproject.com/KB/dotnet/ManagingAssemblyVersions.aspx" class="externalLink"&gt;Managing Assembly Versions in Visual Studio and Visual SourceSafe&lt;span class="externalLinkIcon"&gt;&lt;/span&gt;&lt;/a&gt; by &lt;a href="http://object.livejournal.com" class="externalLink"&gt;Vagif Abilov&lt;span class="externalLinkIcon"&gt;&lt;/span&gt;&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="http://et.cairene.net/articles/resource-script-versions" class="externalLink"&gt;Using UpdateVersion with Resource Scripts&lt;span class="externalLinkIcon"&gt;&lt;/span&gt;&lt;/a&gt; by Robert Anderson&lt;/li&gt;&lt;li&gt;&lt;a href="http://www.hanselman.com/blog/NewVersionOfUpdateVersiongreatForThosePeskyAssemblyInfocsFiles.aspx" class="externalLink"&gt;New Version of UpdateVersion... Great for those Pesky Assembly.cs Files&lt;span class="externalLinkIcon"&gt;&lt;/span&gt;&lt;/a&gt; by &lt;a href="http://www.hanselman.com" class="externalLink"&gt;Scott Hanselman&lt;span class="externalLinkIcon"&gt;&lt;/span&gt;&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/div&gt;</description><author>flanakin</author><pubDate>Fri, 04 Apr 2008 05:12:32 GMT</pubDate><guid isPermaLink="false">UPDATED WIKI: User Guide 20080404051232A</guid></item><item><title>UPDATED WIKI: User Guide</title><link>http://www.codeplex.com/UpdateVersion/Wiki/View.aspx?title=User Guide&amp;version=2</link><description>&lt;div class="wikidoc"&gt;
&lt;h1&gt;
User Guide
&lt;/h1&gt;&lt;i&gt;&lt;b&gt;See also:&lt;/b&gt; &lt;a href="http://code.mattgriffith.net/UpdateVersion" class="externalLink"&gt;Matt Griffith's original user guide&lt;span class="externalLinkIcon"&gt;&lt;/span&gt;&lt;/a&gt;. The following started out as an adaptation of that.&lt;/i&gt;&lt;br /&gt; &lt;br /&gt;&lt;h2&gt;
Overview
&lt;/h2&gt;UpdateVersion searches its input for a .NET &lt;span class="codeInline"&gt;AssemblyVersion&lt;/span&gt; attribute and calculates a new version number using one of several algorithms. Input can be either a file or the standard input stream. Output options are the same -- either a file or the standard output stream. UpdateVersion is typically used to update &lt;span class="codeInline"&gt;AssemblyInfo.*&lt;/span&gt; files as part of a build script, batch file, or make file. New versions consist of an updated build and/or revision number. The build number can either be incremented by one or calculated based on the project start date. Revision numbers are either incremented or based on the number of seconds since midnight.&lt;br /&gt; &lt;br /&gt;&lt;i&gt;&lt;b&gt;Note:&lt;/b&gt; Build number format is &lt;span class="codeInline"&gt;&amp;lt;major&amp;gt;.&amp;lt;minor&amp;gt;.&amp;lt;build&amp;gt;.&amp;lt;revision&amp;gt;&lt;/span&gt;&lt;/i&gt;&lt;br /&gt; &lt;br /&gt;&lt;h2&gt;
Command Line Options
&lt;/h2&gt;&lt;table&gt;
&lt;tr&gt;
&lt;th&gt; Short Form &lt;/th&gt;&lt;th&gt; Long Form &lt;/th&gt;&lt;th&gt; Valid Values &lt;/th&gt;&lt;th&gt; Description &lt;/th&gt;
&lt;/tr&gt;&lt;tr&gt;
&lt;td&gt; -s &lt;/td&gt;&lt;td&gt; --startdate &lt;/td&gt;&lt;td&gt; Any date string which &lt;span class="codeInline"&gt;DateTime&lt;/span&gt; can parse for the current culture (i.e. &lt;span class="codeInline"&gt;2002-11-23&lt;/span&gt;) &lt;/td&gt;&lt;td&gt; The date the project started. The &lt;span class="codeInline"&gt;startdate&lt;/span&gt; option is required if the &lt;span class="codeInline"&gt;MonthDay&lt;/span&gt; build type is specified; otherwise, the &lt;span class="codeInline"&gt;startdate&lt;/span&gt; option is ignored. &lt;/td&gt;
&lt;/tr&gt;&lt;tr&gt;
&lt;td&gt; -b &lt;/td&gt;&lt;td&gt; --build &lt;/td&gt;&lt;td&gt; &lt;span class="codeInline"&gt;Fixed | MonthDay | Increment | BuildDay&lt;/span&gt; &lt;/td&gt;&lt;td&gt; The algorithm used to calculate the build number. The default is &lt;span class="codeInline"&gt;Fixed&lt;/span&gt; meaning the build number will remain the same if you do not specify one of the other build algorithms. &lt;span class="codeInline"&gt;MonthDay&lt;/span&gt; calculates the build number based on &lt;span class="codeInline"&gt;[monthssincestart][dayofmonth]&lt;/span&gt;. &lt;span class="codeInline"&gt;BuildDay&lt;/span&gt; calculates the build number based on &lt;span class="codeInline"&gt;[lastdigitofyear][dayofyear]&lt;/span&gt;. &lt;/td&gt;
&lt;/tr&gt;&lt;tr&gt;
&lt;td&gt; -p &lt;/td&gt;&lt;td&gt; --pin &lt;/td&gt;&lt;td&gt; A version number in the &lt;span class="codeInline"&gt;x.x.x.x&lt;/span&gt; format. &lt;/td&gt;&lt;td&gt; The version number to output. The pin option allows you to pin the version number. &lt;/td&gt;
&lt;/tr&gt;&lt;tr&gt;
&lt;td&gt; -r &lt;/td&gt;&lt;td&gt; --revision &lt;/td&gt;&lt;td&gt; &lt;span class="codeInline"&gt;Fixed | Automatic | Increment&lt;/span&gt; &lt;/td&gt;&lt;td&gt; The algorithm used to calculate the revision number. &lt;span class="codeInline"&gt;Automatic&lt;/span&gt; calculates the revision number based on &lt;span class="codeInline"&gt;[secsincemidnight/10]&lt;/span&gt;. &lt;span class="codeInline"&gt;Increment&lt;/span&gt; calculates the revision number by incrementing the current revision number by one. &lt;span class="codeInline"&gt;Fixed&lt;/span&gt; causes the revision number to remain the same. &lt;/td&gt;
&lt;/tr&gt;&lt;tr&gt;
&lt;td&gt; -i &lt;/td&gt;&lt;td&gt; --inputfile &lt;/td&gt;&lt;td&gt; Path to an existing file. &lt;/td&gt;&lt;td&gt; The file to use as the input. If the &lt;span class="codeInline"&gt;inputfile&lt;/span&gt; option is not present the standard input stream is used. &lt;/td&gt;
&lt;/tr&gt;&lt;tr&gt;
&lt;td&gt; -o &lt;/td&gt;&lt;td&gt; --outputfile &lt;/td&gt;&lt;td&gt; A valid filename. &lt;/td&gt;&lt;td&gt; The file to write to. If not specified, the standard output stream is used. &lt;/td&gt;
&lt;/tr&gt;&lt;tr&gt;
&lt;td&gt; -v &lt;/td&gt;&lt;td&gt; --version &lt;/td&gt;&lt;td&gt; &lt;span class="codeInline"&gt;Assembly | File&lt;/span&gt; &lt;/td&gt;&lt;td&gt; The version number to update. The default is &lt;span class="codeInline"&gt;Assembly&lt;/span&gt; which is backward compatible with previous versions. Use &lt;span class="codeInline"&gt;–v Assembly&lt;/span&gt; to update the &lt;span class="codeInline"&gt;AssemblyVersion&lt;/span&gt; attribute. Use &lt;span class="codeInline"&gt;–v File&lt;/span&gt; to update the &lt;span class="codeInline"&gt;AssemblyFileVersion&lt;/span&gt; attribute. &lt;/td&gt;
&lt;/tr&gt;&lt;tr&gt;
&lt;td&gt; -w &lt;/td&gt;&lt;td&gt; --write &lt;/td&gt;&lt;td&gt; &lt;i&gt;N/A&lt;/i&gt; &lt;/td&gt;&lt;td&gt; Writes the version number (and only the version number) to the output stream. &lt;/td&gt;
&lt;/tr&gt;
&lt;/table&gt;&lt;h2&gt;
Return Values
&lt;/h2&gt;&lt;table&gt;
&lt;tr&gt;
&lt;td&gt; 0 &lt;/td&gt;&lt;td&gt; UpdateVersion successfully read the input and wrote the output. Note: UpdateVersion returns 0 even when it does not find an AssemblyVersion attribute string to update in the input. If that happens UpdateVersion writes a warning to the standard error stream. &lt;/td&gt;
&lt;/tr&gt;&lt;tr&gt;
&lt;td&gt; 1 &lt;/td&gt;&lt;td&gt; UpdateVersion was unable to parse the command line options. See the standard error stream for more information. Note: UpdateVersion does not write to the output when this happens. &lt;/td&gt;
&lt;/tr&gt;&lt;tr&gt;
&lt;td&gt; 2 &lt;/td&gt;&lt;td&gt; UpdateVersion was unable to read the input. See the standard error stream for more information. Note: UpdateVersion does not write to the output when this happens. &lt;/td&gt;
&lt;/tr&gt;&lt;tr&gt;
&lt;td&gt; 3 &lt;/td&gt;&lt;td&gt; An error occurred while UpdateVersion was searching for the AssemblyVersion attribute or while it was calculating the new version number. See the standard error stream for more information. Note: UpdateVersion does not write to the output when this happens. &lt;/td&gt;
&lt;/tr&gt;&lt;tr&gt;
&lt;td&gt; 4 &lt;/td&gt;&lt;td&gt; UpdateVersion was unable to write the output. See the standard error stream for more information. Note: UpdateVersion does not write to the output when this happens. &lt;/td&gt;
&lt;/tr&gt;
&lt;/table&gt; &lt;br /&gt;&lt;h2&gt;
Usage Examples
&lt;/h2&gt; &lt;br /&gt;&lt;h3&gt;
Command Line or Batch File
&lt;/h3&gt; &lt;br /&gt;&lt;h4&gt;
Standard input and standard output
&lt;/h4&gt;&lt;table&gt;
&lt;tr&gt;
&lt;th&gt; Command &lt;/th&gt;&lt;th&gt; Expected Output &lt;/th&gt;
&lt;/tr&gt;&lt;tr&gt;
&lt;td&gt; &lt;span class="codeInline"&gt;C:\&amp;gt;echo AssemblyVersion(&amp;quot;1.0.0.0&amp;quot;) | UpdateVersion&lt;/span&gt; &lt;/td&gt;&lt;td&gt; &lt;span class="codeInline"&gt;AssemblyVersion(&amp;quot;1.0.0.8298&amp;quot;)&lt;/span&gt; &lt;/td&gt;
&lt;/tr&gt;&lt;tr&gt;
&lt;td&gt; &lt;span class="codeInline"&gt;C:\&amp;gt;echo AssemblyVersion(&amp;quot;1.0.0.0&amp;quot;) | UpdateVersion -b Increment&lt;/span&gt; &lt;/td&gt;&lt;td&gt; &lt;span class="codeInline"&gt;AssemblyVersion(&amp;quot;1.0.1.8310&amp;quot;)&lt;/span&gt; &lt;/td&gt;
&lt;/tr&gt;&lt;tr&gt;
&lt;td&gt; &lt;span class="codeInline"&gt;C:\&amp;gt;echo AssemblyVersion(&amp;quot;1.0.0.0&amp;quot;) | UpdateVersion -b Increment -r Increment&lt;/span&gt; &lt;/td&gt;&lt;td&gt; &lt;span class="codeInline"&gt;AssemblyVersion(&amp;quot;1.0.1.1&amp;quot;)&lt;/span&gt; &lt;/td&gt;
&lt;/tr&gt;&lt;tr&gt;
&lt;td&gt; &lt;span class="codeInline"&gt;C:\&amp;gt;echo AssemblyVersion(&amp;quot;1.0.0.0&amp;quot;) | UpdateVersion -b MonthDay -s 2002-11-23&lt;/span&gt; &lt;/td&gt;&lt;td&gt; &lt;span class="codeInline"&gt;AssemblyVersion(&amp;quot;1.0.23.8335&amp;quot;)&lt;/span&gt; &lt;/td&gt;
&lt;/tr&gt;&lt;tr&gt;
&lt;td&gt; &lt;span class="codeInline"&gt;C:\&amp;gt;echo AssemblyVersion(&amp;quot;1.0.0.0&amp;quot;) | UpdateVersion -b MonthDay -s 2000-11-23&lt;/span&gt; &lt;/td&gt;&lt;td&gt; &lt;span class="codeInline"&gt;AssemblyVersion(&amp;quot;1.0.2423.8339&amp;quot;)&lt;/span&gt; &lt;/td&gt;
&lt;/tr&gt;&lt;tr&gt;
&lt;td&gt; &lt;span class="codeInline"&gt;C:\&amp;gt;echo AssemblyVersion(&amp;quot;1.0.0.0&amp;quot;) | UpdateVersion -b MonthDay -s 11/23/2000&lt;/span&gt; &lt;/td&gt;&lt;td&gt; &lt;span class="codeInline"&gt;AssemblyVersion(&amp;quot;1.0.2423.8339&amp;quot;)&lt;/span&gt; &lt;/td&gt;
&lt;/tr&gt;&lt;tr&gt;
&lt;td&gt; &lt;span class="codeInline"&gt;C:\&amp;gt;echo AssemblyVersion(&amp;quot;1.0.0.0&amp;quot;) | UpdateVersion -p 1.2.3.4&lt;/span&gt; &lt;/td&gt;&lt;td&gt; &lt;span class="codeInline"&gt;AssemblyVersion(&amp;quot;1.2.3.4&amp;quot;)&lt;/span&gt; &lt;/td&gt;
&lt;/tr&gt;&lt;tr&gt;
&lt;td&gt; &lt;span class="codeInline"&gt;C:\&amp;gt;echo AssemblyVersion(&amp;quot;1.0.0.0&amp;quot;) | UpdateVersion -b BuildDay&lt;/span&gt; &lt;/td&gt;&lt;td&gt; &lt;span class="codeInline"&gt;AssemblyVersion(&amp;quot;1.0.3298.7453&amp;quot;)&lt;/span&gt; &lt;/td&gt;
&lt;/tr&gt;&lt;tr&gt;
&lt;td&gt; &lt;span class="codeInline"&gt;C:\&amp;gt;echo AssemblyVersion(&amp;quot;1.0.0.0&amp;quot;) | UpdateVersion -b Increment -r Fixed&lt;/span&gt; &lt;/td&gt;&lt;td&gt; &lt;span class="codeInline"&gt;AssemblyVersion(&amp;quot;1.0.1.0&amp;quot;)&lt;/span&gt; &lt;/td&gt;
&lt;/tr&gt;&lt;tr&gt;
&lt;td&gt; &lt;span class="codeInline"&gt;C:\&amp;gt;echo AssemblyFileVersion(&amp;quot;1.0.0.0&amp;quot;) | UpdateVersion -v File&lt;/span&gt; &lt;/td&gt;&lt;td&gt; &lt;span class="codeInline"&gt;AssemblyFileVersion(&amp;quot;1.0.0.7517&amp;quot;)&lt;/span&gt; &lt;/td&gt;
&lt;/tr&gt;
&lt;/table&gt; &lt;br /&gt;&lt;h4&gt;
Redirecting to and from standard input and standard output
&lt;/h4&gt;&lt;span class="codeInline"&gt;C:\&amp;gt;UpdateVersion -b Increment &amp;lt; Input.txt &amp;gt; Output.txt&lt;/span&gt;&lt;br /&gt; &lt;br /&gt;&lt;h4&gt;
Specify the input and output files on the command line
&lt;/h4&gt;&lt;span class="codeInline"&gt;C:\&amp;gt;UpdateVersion -b Increment -i Input.txt -o Output.txt&lt;/span&gt;&lt;br /&gt; &lt;br /&gt;You can mix and match all of these techniques so you could easily specify an input file on the command line and write the output to standard output like so:&lt;br /&gt;&lt;span class="codeInline"&gt;C:\&amp;gt;UpdateVersion -b Increment -i Input.txt&lt;/span&gt;&lt;br /&gt; &lt;br /&gt;To specify the output file on the command line and read the input from standard input do this:&lt;br /&gt;&lt;span class="codeInline"&gt;C:\&amp;gt;echo AssemblyVersion(&amp;quot;1.0.0.0&amp;quot;) | UpdateVersion -b Increment –o Output.txt&lt;/span&gt;&lt;br /&gt; &lt;br /&gt;&lt;h3&gt;
Use UpdateVersion with Visual Studio
&lt;/h3&gt;You can add UpdateVersion to the &lt;span class="codeInline"&gt;Tools&lt;/span&gt; menu as an &lt;span class="codeInline"&gt;External Tool&lt;/span&gt;. You can then select the UpdateVersion command from the menu to update your &lt;span class="codeInline"&gt;AssemblyInfo.*&lt;/span&gt; file. Just select &lt;span class="codeInline"&gt;Tools &amp;gt; External Tools... &amp;gt; Add&lt;/span&gt; and enter values similar to the following:&lt;br /&gt; &lt;br /&gt;&lt;b&gt;Title:&lt;/b&gt; Update Version Number&lt;br /&gt;&lt;b&gt;Command:&lt;/b&gt; UpdateVersion.exe      &lt;br /&gt;&lt;b&gt;Arguments:&lt;/b&gt; -b MonthDay -s 2002-11-23 -i &amp;quot;AssemblyInfo.cs&amp;quot; -o &amp;quot;AssemblyInfo.cs&amp;quot; &lt;br /&gt;&lt;b&gt;Initial directory:&lt;/b&gt; $(ProjectDir)&lt;br /&gt;&lt;b&gt;Use Output window:&lt;/b&gt; Checked&lt;br /&gt; &lt;br /&gt;If UpdateVersion is not in your &lt;span class="codeInline"&gt;PATH&lt;/span&gt; you will need to provide the full path where UpdateVersion can be found. You can specify any valid options for the arguments. &lt;br /&gt; &lt;br /&gt;&lt;h3&gt;
Use UpdateVersion in a Makefile
&lt;/h3&gt;Create a new Makefile with the following contents:&lt;br /&gt;&lt;pre&gt;
test: 
    UpdateVersion -b MonthDay -s 2002-01-21 -i Input.txt -o Output.txt
&lt;/pre&gt;Then run &lt;span class="codeInline"&gt;nmake&lt;/span&gt;. &lt;br /&gt; &lt;br /&gt;&lt;h3&gt;
Use UpdateVersion with NAnt
&lt;/h3&gt;Create a new NAnt script named &lt;span class="codeInline"&gt;Test.build&lt;/span&gt; with the following contents:&lt;br /&gt;&lt;pre&gt;
&amp;lt;project name=&amp;quot;ExecTest&amp;quot; default=&amp;quot;test&amp;quot;&amp;gt;
  &amp;lt;tstamp/&amp;gt;
  &amp;lt;target name=&amp;quot;test&amp;quot; description=&amp;quot;tests using exec to run UpdateVersion.exe&amp;quot;&amp;gt;
    &amp;lt;echo message=&amp;quot;********************************************************************&amp;quot;/&amp;gt;
    &amp;lt;echo message=&amp;quot;** Running UpdateVersion.exe.&amp;quot;/&amp;gt;
    &amp;lt;exec program=&amp;quot;UpdateVersion.exe&amp;quot; commandline=&amp;quot;-b MonthDay -s 2002-01-21 -i Input.txt -o Output.txt&amp;quot; verbose=&amp;quot;true&amp;quot; failonerror=&amp;quot;true&amp;quot; /&amp;gt;
    &amp;lt;echo message=&amp;quot;** End of Tests&amp;quot;/&amp;gt;
    &amp;lt;echo message=&amp;quot;********************************************************************&amp;quot;/&amp;gt;
  &amp;lt;/target&amp;gt;
&amp;lt;/project&amp;gt;
&lt;/pre&gt;Then run NAnt. &lt;br /&gt; &lt;br /&gt;Because UpdateVersion returns a non-zero value when it fails your NAnt script will fail as long as the exec tasks' &lt;span class="codeInline"&gt;failonerror&lt;/span&gt; option is &lt;span class="codeInline"&gt;true&lt;/span&gt;.&lt;br /&gt;
&lt;/div&gt;</description><author>flanakin</author><pubDate>Fri, 04 Apr 2008 04:53:38 GMT</pubDate><guid isPermaLink="false">UPDATED WIKI: User Guide 20080404045338A</guid></item><item><title>UPDATED WIKI: User Guide</title><link>http://www.codeplex.com/UpdateVersion/Wiki/View.aspx?title=User Guide&amp;version=1</link><description>&lt;div class="wikidoc"&gt;
&lt;h1&gt;
User Guide
&lt;/h1&gt;&lt;i&gt;&lt;b&gt;See also:&lt;/b&gt; &lt;a href="http://code.mattgriffith.net/UpdateVersion" class="externalLink"&gt;Matt Griffith's original user guide&lt;span class="externalLinkIcon"&gt;&lt;/span&gt;&lt;/a&gt;. The following started out as an adaptation of that.&lt;/i&gt;&lt;br /&gt; &lt;br /&gt;&lt;h2&gt;
Overview
&lt;/h2&gt;UpdateVersion searches its input for a .NET &lt;span class="codeInline"&gt;AssemblyVersion&lt;/span&gt; attribute and calculates a new version number using one of several algorithms. Input can be either a file or the standard input stream. Output options are the same -- either a file or the standard output stream. UpdateVersion is typically used to update &lt;span class="codeInline"&gt;AssemblyInfo.*&lt;/span&gt; files as part of a build script, batch file, or make file. New versions consist of an updated build and/or revision number. The build number can either be incremented by one or calculated based on the project start date. Revision numbers are either incremented or based on the number of seconds since midnight.&lt;br /&gt; &lt;br /&gt;&lt;i&gt;&lt;b&gt;Note:&lt;/b&gt; Build number format is &lt;span class="codeInline"&gt;&amp;lt;major&amp;gt;.&amp;lt;minor&amp;gt;.&amp;lt;build&amp;gt;.&amp;lt;revision&amp;gt;&lt;/span&gt;&lt;/i&gt;&lt;br /&gt; &lt;br /&gt;&lt;h2&gt;
Command Line Options
&lt;/h2&gt;&lt;table&gt;
&lt;tr&gt;
&lt;th&gt; Short Form &lt;/th&gt;&lt;th&gt; Long Form &lt;/th&gt;&lt;th&gt; Valid Values &lt;/th&gt;&lt;th&gt; Description &lt;/th&gt;
&lt;/tr&gt;&lt;tr&gt;
&lt;td&gt; -s &lt;/td&gt;&lt;td&gt; --startdate &lt;/td&gt;&lt;td&gt; Any date string which &lt;span class="codeInline"&gt;DateTime&lt;/span&gt; can parse for the current culture (i.e. &lt;span class="codeInline"&gt;2002-11-23&lt;/span&gt;) &lt;/td&gt;&lt;td&gt; The date the project started. The &lt;span class="codeInline"&gt;startdate&lt;/span&gt; option is required if the &lt;span class="codeInline"&gt;MonthDay&lt;/span&gt; build type is specified; otherwise, the &lt;span class="codeInline"&gt;startdate&lt;/span&gt; option is ignored. &lt;/td&gt;
&lt;/tr&gt;&lt;tr&gt;
&lt;td&gt; -b &lt;/td&gt;&lt;td&gt; --build &lt;/td&gt;&lt;td&gt; &lt;span class="codeInline"&gt;Fixed | MonthDay | Increment | BuildDay&lt;/span&gt; &lt;/td&gt;&lt;td&gt; The algorithm used to calculate the build number. The default is &lt;span class="codeInline"&gt;Fixed&lt;/span&gt; meaning the build number will remain the same if you do not specify one of the other build algorithms. &lt;span class="codeInline"&gt;MonthDay&lt;/span&gt; calculates the build number based on &lt;span class="codeInline"&gt;[monthssincestart][dayofmonth]&lt;/span&gt;. &lt;span class="codeInline"&gt;BuildDay&lt;/span&gt; calculates the build number based on &lt;span class="codeInline"&gt;[lastdigitofyear][dayofyear]&lt;/span&gt;. &lt;/td&gt;
&lt;/tr&gt;&lt;tr&gt;
&lt;td&gt; -p &lt;/td&gt;&lt;td&gt; --pin &lt;/td&gt;&lt;td&gt; A version number in the &lt;span class="codeInline"&gt;x.x.x.x&lt;/span&gt; format. &lt;/td&gt;&lt;td&gt; The version number to output. The pin option allows you to pin the version number. &lt;/td&gt;
&lt;/tr&gt;&lt;tr&gt;
&lt;td&gt; -r &lt;/td&gt;&lt;td&gt; --revision &lt;/td&gt;&lt;td&gt; &lt;span class="codeInline"&gt;Fixed | Automatic | Increment&lt;/span&gt; &lt;/td&gt;&lt;td&gt; The algorithm used to calculate the revision number. &lt;span class="codeInline"&gt;Automatic&lt;/span&gt; calculates the revision number based on &lt;span class="codeInline"&gt;[secsincemidnight/10]&lt;/span&gt;. &lt;span class="codeInline"&gt;Increment&lt;/span&gt; calculates the revision number by incrementing the current revision number by one. &lt;span class="codeInline"&gt;Fixed&lt;/span&gt; causes the revision number to remain the same. &lt;/td&gt;
&lt;/tr&gt;&lt;tr&gt;
&lt;td&gt; -i &lt;/td&gt;&lt;td&gt; --inputfile &lt;/td&gt;&lt;td&gt; Path to an existing file. &lt;/td&gt;&lt;td&gt; The file to use as the input. If the &lt;span class="codeInline"&gt;inputfile&lt;/span&gt; option is not present the standard input stream is used. &lt;/td&gt;
&lt;/tr&gt;&lt;tr&gt;
&lt;td&gt; -o &lt;/td&gt;&lt;td&gt; --outputfile &lt;/td&gt;&lt;td&gt; A valid filename. &lt;/td&gt;&lt;td&gt; The file to write to. If not specified, the standard output stream is used. &lt;/td&gt;
&lt;/tr&gt;&lt;tr&gt;
&lt;td&gt; -v &lt;/td&gt;&lt;td&gt; --version &lt;/td&gt;&lt;td&gt; &lt;span class="codeInline"&gt;Assembly | File&lt;/span&gt; &lt;/td&gt;&lt;td&gt; The version number to update. The default is &lt;span class="codeInline"&gt;Assembly&lt;/span&gt; which is backward compatible with previous versions. Use &lt;span class="codeInline"&gt;–v Assembly&lt;/span&gt; to update the &lt;span class="codeInline"&gt;AssemblyVersion&lt;/span&gt; attribute. Use &lt;span class="codeInline"&gt;–v File&lt;/span&gt; to update the &lt;span class="codeInline"&gt;AssemblyFileVersion&lt;/span&gt; attribute. &lt;/td&gt;
&lt;/tr&gt;
&lt;/table&gt; &lt;br /&gt;&lt;h2&gt;
Return Values
&lt;/h2&gt;&lt;table&gt;
&lt;tr&gt;
&lt;td&gt; 0 &lt;/td&gt;&lt;td&gt; UpdateVersion successfully read the input and wrote the output. Note: UpdateVersion returns 0 even when it does not find an AssemblyVersion attribute string to update in the input. If that happens UpdateVersion writes a warning to the standard error stream. &lt;/td&gt;
&lt;/tr&gt;&lt;tr&gt;
&lt;td&gt; 1 &lt;/td&gt;&lt;td&gt; UpdateVersion was unable to parse the command line options. See the standard error stream for more information. Note: UpdateVersion does not write to the output when this happens. &lt;/td&gt;
&lt;/tr&gt;&lt;tr&gt;
&lt;td&gt; 2 &lt;/td&gt;&lt;td&gt; UpdateVersion was unable to read the input. See the standard error stream for more information. Note: UpdateVersion does not write to the output when this happens. &lt;/td&gt;
&lt;/tr&gt;&lt;tr&gt;
&lt;td&gt; 3 &lt;/td&gt;&lt;td&gt; An error occurred while UpdateVersion was searching for the AssemblyVersion attribute or while it was calculating the new version number. See the standard error stream for more information. Note: UpdateVersion does not write to the output when this happens. &lt;/td&gt;
&lt;/tr&gt;&lt;tr&gt;
&lt;td&gt; 4 &lt;/td&gt;&lt;td&gt; UpdateVersion was unable to write the output. See the standard error stream for more information. Note: UpdateVersion does not write to the output when this happens. &lt;/td&gt;
&lt;/tr&gt;
&lt;/table&gt; &lt;br /&gt;&lt;h2&gt;
Usage Examples
&lt;/h2&gt; &lt;br /&gt;&lt;h3&gt;
Command Line or Batch File
&lt;/h3&gt; &lt;br /&gt;&lt;h4&gt;
Standard input and standard output
&lt;/h4&gt;&lt;table&gt;
&lt;tr&gt;
&lt;th&gt; Command &lt;/th&gt;&lt;th&gt; Expected Output &lt;/th&gt;
&lt;/tr&gt;&lt;tr&gt;
&lt;td&gt; &lt;span class="codeInline"&gt;C:\&amp;gt;echo AssemblyVersion(&amp;quot;1.0.0.0&amp;quot;) | UpdateVersion&lt;/span&gt; &lt;/td&gt;&lt;td&gt; &lt;span class="codeInline"&gt;AssemblyVersion(&amp;quot;1.0.0.8298&amp;quot;)&lt;/span&gt; &lt;/td&gt;
&lt;/tr&gt;&lt;tr&gt;
&lt;td&gt; &lt;span class="codeInline"&gt;C:\&amp;gt;echo AssemblyVersion(&amp;quot;1.0.0.0&amp;quot;) | UpdateVersion -b Increment&lt;/span&gt; &lt;/td&gt;&lt;td&gt; &lt;span class="codeInline"&gt;AssemblyVersion(&amp;quot;1.0.1.8310&amp;quot;)&lt;/span&gt; &lt;/td&gt;
&lt;/tr&gt;&lt;tr&gt;
&lt;td&gt; &lt;span class="codeInline"&gt;C:\&amp;gt;echo AssemblyVersion(&amp;quot;1.0.0.0&amp;quot;) | UpdateVersion -b Increment -r Increment&lt;/span&gt; &lt;/td&gt;&lt;td&gt; &lt;span class="codeInline"&gt;AssemblyVersion(&amp;quot;1.0.1.1&amp;quot;)&lt;/span&gt; &lt;/td&gt;
&lt;/tr&gt;&lt;tr&gt;
&lt;td&gt; &lt;span class="codeInline"&gt;C:\&amp;gt;echo AssemblyVersion(&amp;quot;1.0.0.0&amp;quot;) | UpdateVersion -b MonthDay -s 2002-11-23&lt;/span&gt; &lt;/td&gt;&lt;td&gt; &lt;span class="codeInline"&gt;AssemblyVersion(&amp;quot;1.0.23.8335&amp;quot;)&lt;/span&gt; &lt;/td&gt;
&lt;/tr&gt;&lt;tr&gt;
&lt;td&gt; &lt;span class="codeInline"&gt;C:\&amp;gt;echo AssemblyVersion(&amp;quot;1.0.0.0&amp;quot;) | UpdateVersion -b MonthDay -s 2000-11-23&lt;/span&gt; &lt;/td&gt;&lt;td&gt; &lt;span class="codeInline"&gt;AssemblyVersion(&amp;quot;1.0.2423.8339&amp;quot;)&lt;/span&gt; &lt;/td&gt;
&lt;/tr&gt;&lt;tr&gt;
&lt;td&gt; &lt;span class="codeInline"&gt;C:\&amp;gt;echo AssemblyVersion(&amp;quot;1.0.0.0&amp;quot;) | UpdateVersion -b MonthDay -s 11/23/2000&lt;/span&gt; &lt;/td&gt;&lt;td&gt; &lt;span class="codeInline"&gt;AssemblyVersion(&amp;quot;1.0.2423.8339&amp;quot;)&lt;/span&gt; &lt;/td&gt;
&lt;/tr&gt;&lt;tr&gt;
&lt;td&gt; &lt;span class="codeInline"&gt;C:\&amp;gt;echo AssemblyVersion(&amp;quot;1.0.0.0&amp;quot;) | UpdateVersion -p 1.2.3.4&lt;/span&gt; &lt;/td&gt;&lt;td&gt; &lt;span class="codeInline"&gt;AssemblyVersion(&amp;quot;1.2.3.4&amp;quot;)&lt;/span&gt; &lt;/td&gt;
&lt;/tr&gt;&lt;tr&gt;
&lt;td&gt; &lt;span class="codeInline"&gt;C:\&amp;gt;echo AssemblyVersion(&amp;quot;1.0.0.0&amp;quot;) | UpdateVersion -b BuildDay&lt;/span&gt; &lt;/td&gt;&lt;td&gt; &lt;span class="codeInline"&gt;AssemblyVersion(&amp;quot;1.0.3298.7453&amp;quot;)&lt;/span&gt; &lt;/td&gt;
&lt;/tr&gt;&lt;tr&gt;
&lt;td&gt; &lt;span class="codeInline"&gt;C:\&amp;gt;echo AssemblyVersion(&amp;quot;1.0.0.0&amp;quot;) | UpdateVersion -b Increment -r Fixed&lt;/span&gt; &lt;/td&gt;&lt;td&gt; &lt;span class="codeInline"&gt;AssemblyVersion(&amp;quot;1.0.1.0&amp;quot;)&lt;/span&gt; &lt;/td&gt;
&lt;/tr&gt;&lt;tr&gt;
&lt;td&gt; &lt;span class="codeInline"&gt;C:\&amp;gt;echo AssemblyFileVersion(&amp;quot;1.0.0.0&amp;quot;) | UpdateVersion -v File&lt;/span&gt; &lt;/td&gt;&lt;td&gt; &lt;span class="codeInline"&gt;AssemblyFileVersion(&amp;quot;1.0.0.7517&amp;quot;)&lt;/span&gt; &lt;/td&gt;
&lt;/tr&gt;
&lt;/table&gt; &lt;br /&gt;&lt;h4&gt;
Redirecting to and from standard input and standard output
&lt;/h4&gt;&lt;span class="codeInline"&gt;C:\&amp;gt;UpdateVersion -b Increment &amp;lt; Input.txt &amp;gt; Output.txt&lt;/span&gt;&lt;br /&gt; &lt;br /&gt;&lt;h4&gt;
Specify the input and output files on the command line
&lt;/h4&gt;&lt;span class="codeInline"&gt;C:\&amp;gt;UpdateVersion -b Increment -i Input.txt -o Output.txt&lt;/span&gt;&lt;br /&gt; &lt;br /&gt;You can mix and match all of these techniques so you could easily specify an input file on the command line and write the output to standard output like so:&lt;br /&gt;&lt;span class="codeInline"&gt;C:\&amp;gt;UpdateVersion -b Increment -i Input.txt&lt;/span&gt;&lt;br /&gt; &lt;br /&gt;To specify the output file on the command line and read the input from standard input do this:&lt;br /&gt;&lt;span class="codeInline"&gt;C:\&amp;gt;echo AssemblyVersion(&amp;quot;1.0.0.0&amp;quot;) | UpdateVersion -b Increment –o Output.txt&lt;/span&gt;&lt;br /&gt; &lt;br /&gt;&lt;h3&gt;
Use UpdateVersion with Visual Studio
&lt;/h3&gt;You can add UpdateVersion to the &lt;span class="codeInline"&gt;Tools&lt;/span&gt; menu as an &lt;span class="codeInline"&gt;External Tool&lt;/span&gt;. You can then select the UpdateVersion command from the menu to update your &lt;span class="codeInline"&gt;AssemblyInfo.*&lt;/span&gt; file. Just select &lt;span class="codeInline"&gt;Tools &amp;gt; External Tools... &amp;gt; Add&lt;/span&gt; and enter values similar to the following:&lt;br /&gt; &lt;br /&gt;&lt;b&gt;Title:&lt;/b&gt; Update Version Number&lt;br /&gt;&lt;b&gt;Command:&lt;/b&gt; UpdateVersion.exe      &lt;br /&gt;&lt;b&gt;Arguments:&lt;/b&gt; -b MonthDay -s 2002-11-23 -i &amp;quot;AssemblyInfo.cs&amp;quot; -o &amp;quot;AssemblyInfo.cs&amp;quot; &lt;br /&gt;&lt;b&gt;Initial directory:&lt;/b&gt; $(ProjectDir)&lt;br /&gt;&lt;b&gt;Use Output window:&lt;/b&gt; Checked&lt;br /&gt; &lt;br /&gt;If UpdateVersion is not in your &lt;span class="codeInline"&gt;PATH&lt;/span&gt; you will need to provide the full path where UpdateVersion can be found. You can specify any valid options for the arguments. &lt;br /&gt; &lt;br /&gt;&lt;h3&gt;
Use UpdateVersion in a Makefile
&lt;/h3&gt;Create a new Makefile with the following contents:&lt;br /&gt;&lt;pre&gt;
test: 
    UpdateVersion -b MonthDay -s 2002-01-21 -i Input.txt -o Output.txt
&lt;/pre&gt;Then run &lt;span class="codeInline"&gt;nmake&lt;/span&gt;. &lt;br /&gt; &lt;br /&gt;&lt;h3&gt;
Use UpdateVersion with NAnt
&lt;/h3&gt;Create a new NAnt script named &lt;span class="codeInline"&gt;Test.build&lt;/span&gt; with the following contents:&lt;br /&gt;&lt;pre&gt;
&amp;lt;project name=&amp;quot;ExecTest&amp;quot; default=&amp;quot;test&amp;quot;&amp;gt;
  &amp;lt;tstamp/&amp;gt;
  &amp;lt;target name=&amp;quot;test&amp;quot; description=&amp;quot;tests using exec to run UpdateVersion.exe&amp;quot;&amp;gt;
    &amp;lt;echo message=&amp;quot;********************************************************************&amp;quot;/&amp;gt;
    &amp;lt;echo message=&amp;quot;** Running UpdateVersion.exe.&amp;quot;/&amp;gt;
    &amp;lt;exec program=&amp;quot;UpdateVersion.exe&amp;quot; commandline=&amp;quot;-b MonthDay -s 2002-01-21 -i Input.txt -o Output.txt&amp;quot; verbose=&amp;quot;true&amp;quot; failonerror=&amp;quot;true&amp;quot; /&amp;gt;
    &amp;lt;echo message=&amp;quot;** End of Tests&amp;quot;/&amp;gt;
    &amp;lt;echo message=&amp;quot;********************************************************************&amp;quot;/&amp;gt;
  &amp;lt;/target&amp;gt;
&amp;lt;/project&amp;gt;
&lt;/pre&gt;Then run NAnt. &lt;br /&gt; &lt;br /&gt;Because UpdateVersion returns a non-zero value when it fails your NAnt script will fail as long as the exec tasks' &lt;span class="codeInline"&gt;failonerror&lt;/span&gt; option is &lt;span class="codeInline"&gt;true&lt;/span&gt;.&lt;br /&gt;
&lt;/div&gt;</description><author>flanakin</author><pubDate>Fri, 04 Apr 2008 04:47:02 GMT</pubDate><guid isPermaLink="false">UPDATED WIKI: User Guide 20080404044702A</guid></item><item><title>UPDATED WIKI: Home</title><link>http://www.codeplex.com/UpdateVersion/Wiki/View.aspx?title=Home&amp;version=4</link><description>&lt;div class="wikidoc"&gt;
UpdateVersion is a command-line utility that can update .NET AssemblyInfo files in any language. Typically, UpdateVersion is used in conjunction with Nant build scripts to autogenerate new version numbers&amp;#59; however, it can be executed from anywhere to get or set updated version numbers.&lt;br /&gt;&lt;br /&gt;Behind the scenes, UpdateVersion searches it&amp;#39;s input for a .NET AssemblyVersion attribute. Using this, a new version number is calculated using one of several algorithms.
&lt;br /&gt; &lt;br /&gt;&lt;h3&gt;
Where to Start
&lt;/h3&gt;If you're new to UpdateVersion, start with the &lt;a href="http://www.codeplex.com/UpdateVersion/Wiki/View.aspx?title=User%20Guide&amp;amp;referringTitle=Home"&gt;User Guide&lt;/a&gt;.&lt;br /&gt; &lt;br /&gt;&lt;h3&gt;
Project Status
&lt;/h3&gt;The UpdateVersion project hasn't been touched in years. The main reason it's being placed on CodePlex is to provide better support to those requesting access to it. There are a few possible enhancements, but nothing big. Feel free to report any bugs and/or recommend other enhancements.&lt;br /&gt; &lt;br /&gt;&lt;h3&gt;
History
&lt;/h3&gt;UpdateVersion was originally written by &lt;a href="http://mattgriffith.net" class="externalLink"&gt;Matt Griffith&lt;span class="externalLinkIcon"&gt;&lt;/span&gt;&lt;/a&gt; and later enhanced by &lt;a href="http://www.larkware.com" class="externalLink"&gt;Mike Gunderloy&lt;span class="externalLinkIcon"&gt;&lt;/span&gt;&lt;/a&gt;, &lt;a href="http://hanselman.com" class="externalLink"&gt;Scott Hanselman&lt;span class="externalLinkIcon"&gt;&lt;/span&gt;&lt;/a&gt;, and &lt;a href="http://www.michaelflanakin.com" class="externalLink"&gt;Michael Flanakin&lt;span class="externalLinkIcon"&gt;&lt;/span&gt;&lt;/a&gt;. For more information on the changes that have been made thus far, check out the &lt;a href="http://www.codeplex.com/UpdateVersion/Wiki/View.aspx?title=Change%20Log&amp;amp;referringTitle=Home"&gt;Change Log&lt;/a&gt;.&lt;br /&gt;
&lt;/div&gt;</description><author>flanakin</author><pubDate>Fri, 04 Apr 2008 03:54:55 GMT</pubDate><guid isPermaLink="false">UPDATED WIKI: Home 20080404035455A</guid></item><item><title>UPDATED WIKI: Home</title><link>http://www.codeplex.com/UpdateVersion/Wiki/View.aspx?title=Home&amp;version=3</link><description>&lt;div class="wikidoc"&gt;
UpdateVersion is a command-line utility that can update .NET AssemblyInfo files in any language. Typically, UpdateVersion is used in conjunction with Nant build scripts to autogenerate new version numbers&amp;#59; however, it can be executed from anywhere to get or set updated version numbers.&lt;br /&gt;&lt;br /&gt;Behind the scenes, UpdateVersion searches it&amp;#39;s input for a .NET AssemblyVersion attribute. Using this, a new version number is calculated using one of several algorithms.
&lt;br /&gt; &lt;br /&gt;&lt;h3&gt;
Project Status
&lt;/h3&gt;The UpdateVersion project hasn't been touched in years. The main reason it's being placed on CodePlex is to provide better support to those requesting access to it. There are a few possible enhancements, but nothing big. Feel free to report any bugs and/or recommend other enhancements.&lt;br /&gt; &lt;br /&gt;&lt;h3&gt;
History
&lt;/h3&gt;UpdateVersion was originally written by &lt;a href="http://mattgriffith.net" class="externalLink"&gt;Matt Griffith&lt;span class="externalLinkIcon"&gt;&lt;/span&gt;&lt;/a&gt; and later enhanced by &lt;a href="http://www.larkware.com" class="externalLink"&gt;Mike Gunderloy&lt;span class="externalLinkIcon"&gt;&lt;/span&gt;&lt;/a&gt;, &lt;a href="http://hanselman.com" class="externalLink"&gt;Scott Hanselman&lt;span class="externalLinkIcon"&gt;&lt;/span&gt;&lt;/a&gt;, and &lt;a href="http://www.michaelflanakin.com" class="externalLink"&gt;Michael Flanakin&lt;span class="externalLinkIcon"&gt;&lt;/span&gt;&lt;/a&gt;. For more information on the changes that have been made thus far, check out the &lt;a href="http://www.codeplex.com/UpdateVersion/Wiki/View.aspx?title=Change%20Log&amp;amp;referringTitle=Home"&gt;Change Log&lt;/a&gt;.&lt;br /&gt;
&lt;/div&gt;</description><author>flanakin</author><pubDate>Fri, 04 Apr 2008 03:50:36 GMT</pubDate><guid isPermaLink="false">UPDATED WIKI: Home 20080404035036A</guid></item><item><title>UPDATED RELEASE: 1.3 (Aug 15, 2004)</title><link>http://www.codeplex.com/UpdateVersion/Release/ProjectReleases.aspx?ReleaseId=12256</link><description>As listed on the &amp;#91;Change Log&amp;#93;&lt;br /&gt;&amp;#42; Corrected pin feature -- Michael Flanakin&lt;br /&gt;&amp;#42; Added support for partial pinning &amp;#40;pin major, minor, and&amp;#47;or revision number&amp;#41; -- Michael Flanakin&lt;br /&gt;</description><author></author><pubDate>Fri, 04 Apr 2008 03:40:32 GMT</pubDate><guid isPermaLink="false">UPDATED RELEASE: 1.3 (Aug 15, 2004) 20080404034032A</guid></item><item><title>CREATED FEATURE: Create PowerShell Cmdlet</title><link>http://www.codeplex.com/UpdateVersion/WorkItem/View.aspx?WorkItemId=305</link><description>Create a PowerShell cmdlet to perform the capabilities of UpdateVersion.&lt;br /&gt;</description><author>flanakin</author><pubDate>Fri, 04 Apr 2008 03:33:50 GMT</pubDate><guid isPermaLink="false">CREATED FEATURE: Create PowerShell Cmdlet 20080404033350A</guid></item><item><title>CREATED TASK: Convert to .NET 3.5</title><link>http://www.codeplex.com/UpdateVersion/WorkItem/View.aspx?WorkItemId=304</link><description>Convert the project to .NET 3.5&lt;br /&gt;</description><author>flanakin</author><pubDate>Fri, 04 Apr 2008 03:31:41 GMT</pubDate><guid isPermaLink="false">CREATED TASK: Convert to .NET 3.5 20080404033141A</guid></item><item><title>UPDATED WIKI: Change Log</title><link>http://www.codeplex.com/UpdateVersion/Wiki/View.aspx?title=Change Log&amp;version=1</link><description>&lt;div class="wikidoc"&gt;
&lt;h1&gt;
Change Log
&lt;/h1&gt; &lt;br /&gt;&lt;h2&gt;
&lt;a href="http://www.codeplex.com/UpdateVersion/Release/ProjectReleases.aspx?ReleaseId=12256"&gt;1.3&lt;/a&gt;
&lt;/h2&gt;&lt;ul&gt;
&lt;li&gt;Corrected pin feature -- Michael Flanakin&lt;/li&gt;&lt;li&gt;Added support for partial pinning (pin major, minor, and/or revision number) -- Michael Flanakin&lt;/li&gt;
&lt;/ul&gt; &lt;br /&gt;&lt;h2&gt;
&lt;a href="http://www.codeplex.com/UpdateVersion/Release/ProjectReleases.aspx?ReleaseId=12255"&gt;1.2&lt;/a&gt;
&lt;/h2&gt;&lt;ul&gt;
&lt;li&gt;Refactored &lt;span class="codeInline"&gt;VersionUpdater.cs&lt;/span&gt; -- Scott Hanselman&lt;/li&gt;&lt;li&gt;Updated the regular expression to handle this condition: &lt;span class="codeInline"&gt;[assembly: AssemblyVersionAttribute(&amp;quot;1.0.3296.1&amp;quot;)]&lt;/span&gt; -- Scott Hanselman&lt;/li&gt;&lt;li&gt;Added &lt;span class="codeInline"&gt;Fixed&lt;/span&gt; algorithm for revision number calculation -- Scott Hanselman&lt;/li&gt;&lt;li&gt;Added &lt;span class="codeInline"&gt;BuildDay&lt;/span&gt; algorithm for build number calculation -- Scott Hanselman&lt;/li&gt;&lt;li&gt;Attempted to improve unicode handling by outputting to file using the default encoding -- Matt Griffith&lt;/li&gt;&lt;li&gt;Added &lt;span class="codeInline"&gt;Version&lt;/span&gt; option -- Matt Griffith&lt;/li&gt;
&lt;/ul&gt; &lt;br /&gt;&lt;h2&gt;
1.1
&lt;/h2&gt;&lt;ul&gt;
&lt;li&gt;Added pin feature -- Mike Gunderloy&lt;/li&gt;
&lt;/ul&gt; &lt;br /&gt;&lt;h2&gt;
1.0
&lt;/h2&gt;&lt;ul&gt;
&lt;li&gt;Initial release -- Matt Griffith&lt;/li&gt;
&lt;/ul&gt;
&lt;/div&gt;</description><author>flanakin</author><pubDate>Fri, 04 Apr 2008 03:29:49 GMT</pubDate><guid isPermaLink="false">UPDATED WIKI: Change Log 20080404032949A</guid></item><item><title>CREATED RELEASE: 1.3</title><link>http://www.codeplex.com/UpdateVersion/Release/ProjectReleases.aspx?ReleaseId=12256</link><description>As listed on the &amp;#91;Change Log&amp;#93;&lt;br /&gt;&amp;#42; Corrected pin feature -- Michael Flanakin&lt;br /&gt;&amp;#42; Added support for partial pinning &amp;#40;pin major, minor, and&amp;#47;or revision number&amp;#41; -- Michael Flanakin&lt;br /&gt;</description><author></author><pubDate>Fri, 04 Apr 2008 03:27:55 GMT</pubDate><guid isPermaLink="false">CREATED RELEASE: 1.3 20080404032755A</guid></item><item><title>UPDATED RELEASE: 1.2 (Jan 01, 2002)</title><link>http://www.codeplex.com/UpdateVersion/Release/ProjectReleases.aspx?ReleaseId=12255</link><description>As listed on the &amp;#91;Change Log&amp;#93;&lt;br /&gt;&amp;#42; Refactored &amp;#123;&amp;#123;VersionUpdater.cs&amp;#125;&amp;#125; -- Scott Hanselman&lt;br /&gt;&amp;#42; Updated the regular expression to handle this condition&amp;#58; &amp;#123;&amp;#123;&amp;#91;assembly&amp;#58; AssemblyVersionAttribute&amp;#40;&amp;#34;1.0.3296.1&amp;#34;&amp;#41;&amp;#93;&amp;#125;&amp;#125; -- Scott Hanselman&lt;br /&gt;&amp;#42; Added &amp;#123;&amp;#123;Fixed&amp;#125;&amp;#125; algorithm for revision number calculation -- Scott Hanselman&lt;br /&gt;&amp;#42; Added &amp;#123;&amp;#123;BuildDay&amp;#125;&amp;#125; algorithm for build number calculation -- Scott Hanselman&lt;br /&gt;&amp;#42; Attempted to improve unicode handling by outputting to file using the default encoding -- Matt Griffith&lt;br /&gt;&amp;#42; Added &amp;#123;&amp;#123;Version&amp;#125;&amp;#125; option -- Matt Griffith</description><author></author><pubDate>Fri, 04 Apr 2008 03:24:53 GMT</pubDate><guid isPermaLink="false">UPDATED RELEASE: 1.2 (Jan 01, 2002) 20080404032453A</guid></item><item><title>CREATED RELEASE: 1.2 (Jan 01, 2002)</title><link>http://www.codeplex.com/UpdateVersion/Release/ProjectReleases.aspx?ReleaseId=12255</link><description>As listed on the &amp;#91;Change Log&amp;#93;&lt;br /&gt;&amp;#42; Refactored &amp;#123;&amp;#123;VersionUpdater.cs&amp;#125;&amp;#125; -- Scott Hanselman&lt;br /&gt;&amp;#42; Updated the regular expression to handle this condition&amp;#58; &amp;#123;&amp;#123;&amp;#91;assembly&amp;#58; AssemblyVersionAttribute&amp;#40;&amp;#34;1.0.3296.1&amp;#34;&amp;#41;&amp;#93;&amp;#125;&amp;#125; -- Scott Hanselman&lt;br /&gt;&amp;#42; Added &amp;#123;&amp;#123;Fixed&amp;#125;&amp;#125; algorithm for revision number calculation -- Scott Hanselman&lt;br /&gt;&amp;#42; Added &amp;#123;&amp;#123;BuildDay&amp;#125;&amp;#125; algorithm for build number calculation -- Scott Hanselman&lt;br /&gt;&amp;#42; Attempted to improve unicode handling by outputting to file using the default encoding -- Matt Griffith&lt;br /&gt;&amp;#42; Added &amp;#123;&amp;#123;Version&amp;#125;&amp;#125; option -- Matt Griffith</description><author></author><pubDate>Fri, 04 Apr 2008 03:21:33 GMT</pubDate><guid isPermaLink="false">CREATED RELEASE: 1.2 (Jan 01, 2002) 20080404032133A</guid></item><item><title>UPDATED WIKI: Home</title><link>http://www.codeplex.com/UpdateVersion/Wiki/View.aspx?title=Home&amp;version=2</link><description>&lt;div class="wikidoc"&gt;
UpdateVersion is a command-line utility that can update .NET AssemblyInfo files in any language. Typically, UpdateVersion is used in conjunction with Nant build scripts to autogenerate new version numbers&amp;#59; however, it can be executed from anywhere to get or set updated version numbers.&lt;br /&gt;&lt;br /&gt;Behind the scenes, UpdateVersion searches it&amp;#39;s input for a .NET AssemblyVersion attribute. Using this, a new version number is calculated using one of several algorithms.
&lt;br /&gt; &lt;br /&gt;&lt;h3&gt;
History
&lt;/h3&gt;UpdateVersion was originally written by &lt;a href="http://mattgriffith.net" class="externalLink"&gt;Matt Griffith&lt;span class="externalLinkIcon"&gt;&lt;/span&gt;&lt;/a&gt; and later enhanced by &lt;a href="http://www.larkware.com" class="externalLink"&gt;Mike Gunderloy&lt;span class="externalLinkIcon"&gt;&lt;/span&gt;&lt;/a&gt;, &lt;a href="http://hanselman.com" class="externalLink"&gt;Scott Hanselman&lt;span class="externalLinkIcon"&gt;&lt;/span&gt;&lt;/a&gt;, and &lt;a href="http://www.michaelflanakin.com" class="externalLink"&gt;Michael Flanakin&lt;span class="externalLinkIcon"&gt;&lt;/span&gt;&lt;/a&gt;. For more information on the changes that have been made thus far, check out the &lt;a href="http://www.codeplex.com/UpdateVersion/Wiki/View.aspx?title=Change%20Log&amp;amp;referringTitle=Home"&gt;Change Log&lt;/a&gt;.&lt;br /&gt;
&lt;/div&gt;</description><author>flanakin</author><pubDate>Fri, 04 Apr 2008 03:06:45 GMT</pubDate><guid isPermaLink="false">UPDATED WIKI: Home 20080404030645A</guid></item></channel></rss>