Click here to Skip to main content
65,938 articles
CodeProject is changing. Read more.
Articles
(untagged)

Auto-Increment Project Build Number (VS 2008 compatible)

0.00/5 (No votes)
30 Mar 2009 1  
Increase the build number of the project each time you compile

Introduction

Recently, I've noticed many people looking for a build number incrementor that works with Visual Studio 2008. I was also one of those people. Hence, I dug up an old macro I used in VS 2005 (written by Bellerephon here) and started to debug it. What I figured out was actually quite simplistic.

Using the Code

Since the instructions are the same from the original article, I will simply quote the original author:

  • Download the code and extract it.
  • Open up Visual Studio, and from the Tools menu, select Macros->Macros IDE.
  • Under the MyMacros heading in the Macro Project Explorer, open EnvironmentEvents and copy the function from the corresponding file in the zip.
  • Repeat for the functions in Module1.vb in the Zip.

That's all, your project build number will now be automatically incremented.

Basically, VS 2008 generates a project with an extra comment line in AssemblyInfo.cs.

// [assembly: AssemblyVersion("1.0.*")]

The macro was not working since an exception was thrown each time the macro tried to extract the current build number. Without the comment removed, the value was "*" which did not parse correctly.

So, the only line I had to add to the macro was:

' CS in VS2008 also inserts a comment line, so remove that as well.
Try
    AIText = AIText.Replace("// [assembly: AssemblyVersion(""1.0.*"")]", "")
Catch ex As Exception
End Try        

Points of Interest

All in all, the solution to the build number problem was really easy. Once again, I would like to thank Bellerephon for his original code.

History

  • March 30, 2009 - First version

License

This article has no explicit license attached to it but may contain usage terms in the article text or the download files themselves. If in doubt please contact the author via the discussion board below.

A list of licenses authors might use can be found here