Click here to Skip to main content
Click here to Skip to main content

Solution level Auto build increment Add-In

, 13 Jun 2008 CPOL
Rate this:
Please Sign up or sign in to vote.
Auto build version increment addin for Visual Studio 2005 and 2008

Update

  • 14 Jun 2008
    1. Now both or any of two, AssemblyVersion & AssemblyFileVersion can be updated.
    2. Fixed an error where options window doesn't comes up if project contains a setup or any other unsupported project type.
    3. Source control support added. Fix by S. Brozius.
  • 19 Feb 2008
    1. Support for Solution Folders added.
    2. Fixed a error where instead of updating the attribute, the add-in was updating the comment which is auto added by VS just before the actual attribute.

Introduction

In Visual Studio 2005 or 2008, there is no option for auto incrementing the build numbers on every build. Although many tools exist which enable us to do so, but I do not find them appealing or for daily/frequent use because of many reasons:

  1. Most tools update assembly version on a project level, i.e. you add pre-build or post-build event command lines to a project which call the tool and the tool updates the assembly version number. In such tools, you have to add such events every time you make a project and you cannot make templates for all project types, can you? You also need to specify project path, solution path or AssemblyInfo's path for every project.

  2. Most tools update assembly version based on the solution/project build date. You copy the poject to a new location, your assembly version gets messed up!!

I said "most tools" because there are many tools for this job. I might not have come across one which allows the features my add-in have.

For both the above reasons, I wrote a Visual Studio add-in compatible with both 2005 and 2008. The add-in is compatible with all solutions with either of one or more C# or VB.Net projects or both language projects.

Download

The add-in can be installed by the vsi file which can be downloaded from above.

The add-in is installed in the add-in directory of the version of Visual Studio installed. If you have both 2005 and 2008, it will install in both locations, but it might be possible that the add-in is only added to the add-in directory of Visual Studio 2005. I do not know why it happens, but it does happens on some machines. If this happens, you only need to copy AutoBuildIncrement.dll and AutoBuildIncrement.Addin from the add-in directory of 2005 to that of 2008.

Features

After you install the add-in, whenever you build a project for the first time, a start date variable is added in the project file based on the project creation date. The assembly version is updated based on this variable at every pre build. This behaviour applies to all the solutions you open in the studio, whether new or old.

The auto build numbers are only generated for Revision and Build Number values. You will have to manually update the Major Version and Minor Version values.

Format

The format of the Revision value is:
(months) + (days with a minimum length of 2 with 0 as front padd-ing)

The format of the Build Number value is:
(current hour) + (current minutes)

Example: (C#)
[assembly: AssemblyVersion(1.0.218.1402)]
where the solution was last built after being started since 2 months and 18 days back and was built at 2:02 AM.

Changing the default Features

You can change the default settings of the add-in for any individual solution. Whenever you have a solution opened, you can see the Auto Build Increment Add-in Settings... option in the Tools menu:

Toolmenu.jpg


When you select this option, a dialog is shown where all the projects in their appropriate solution folders (if they exist, that is) are listed with properties for all the individual projects:

SettingsWindow.jpg

The settings are pretty self explantory.

  • Reset: Reset 'AssemblyInfo' file date after modification: If checked, the last modified date of AssemblyInfo is automatically set to its previous setting after the modifications. (default:true)
  • Start Date: The date on which the project was started on. (default:project creation date)
  • Path: A read only property for displaying full path name of the project. (default: project's full path)

  • Enable: Enable auto build version update for the project. (default:true)

References

Feedback

I will love to hear your comments on this add-in. I will also like to know any features and suggestions you people can make for the improvement of the add-in.

License

This article, along with any associated source code and files, is licensed under The Code Project Open License (CPOL)

Share

About the Author


Comments and Discussions

 
GeneralAutosynchronize the Publish Version PinmemberMember 805779920-Jul-11 6:52 
GeneralCannot download Pinmemberxeg1226-May-11 1:34 
GeneralRe: Cannot download PinmemberRisath17-Apr-12 2:02 
GeneralCreate problm in VS2010 Pinmembersumit_harit18-Apr-11 21:52 
Generalversioning is not reflecting in my case.. do I miss some process in embeding ur tool PinmemberAnil.csir17-Feb-11 3:00 
Questioncan this work for VS2010 PinmemberTushar Bhatt9-Jun-10 23:22 
GeneralConvert VS build number to date and time PinmemberAndrusM27-Sep-09 22:13 
GeneralDoesn't always update PinmemberGary Wayne Smith14-Sep-09 9:17 
GeneralCannot install the add-in PinmemberCreF20-Mar-09 1:12 
GeneralRe: Cannot install the add-in PinmemberMember 19954238-Apr-09 15:32 
GeneralRe: Cannot install the add-in Pinmemberdavorin_zg24-Jun-09 11:06 
GeneralUnable to download file Pinmember_Hairy_15-Mar-09 3:09 
AnswerRe: Unable to download file Pinmember_Hairy_16-Mar-09 8:15 
QuestionWeird version numbers Pinmemberbjoer75114-Dec-08 23:21 
AnswerRe: Weird version numbers Pinmemberbjoer75115-Dec-08 0:21 
GeneralRe: Weird version numbers PinmemberYogesh Jagota15-Dec-08 2:40 
GeneralNo settings menu entry Pinmembermmoore996-Dec-08 9:01 
GeneralRe: No settings menu entry PinmemberYogesh Jagota6-Dec-08 12:57 
GeneralRe: No settings menu entry Pinmembermmoore996-Dec-08 20:49 
GeneralRe: No settings menu entry PinmemberYogesh Jagota6-Dec-08 23:36 
GeneralDifferent time zones... PinmemberAlexZP4-Dec-08 3:04 
GeneralRe: Different time zones... PinmemberYogesh Jagota6-Dec-08 12:54 
GeneralExcellent Plugin PinmemberBrandon Ayers3-Nov-08 9:43 
GeneralRe: Excellent Plugin PinmemberYogesh Jagota6-Dec-08 12:53 
General2 problems I had with this tool PinmemberEuGenius_Krivbass23-Oct-08 0:57 
GeneralRe: 2 problems I had with this tool PinmemberYogesh Jagota6-Dec-08 12:53 
QuestionIs VS 2008 / VB supported? PinmemberAcidreverb24-Jul-08 6:42 
AnswerRe: Is VS 2008 / VB supported? PinmemberYogesh Jagota24-Jul-08 7:10 
GeneralRe: Is VS 2008 / VB supported? PinmemberAcidreverb24-Jul-08 7:16 
GeneralRe: Is VS 2008 / VB supported? PinmemberYogesh Jagota24-Jul-08 7:20 
GeneralRe: Is VS 2008 / VB supported? PinmemberAcidreverb24-Jul-08 7:28 
QuestionUninstal ? How ? [modified] PinmemberYan Terrien17-Jun-08 20:25 
AnswerMessage Removed PinmemberYan Terrien17-Jun-08 20:36 
GeneralRe: Uninstal ? How ? PinmemberYogesh Jagota17-Jun-08 20:59 
Jokerealise Pinmemberma_sa_ah_pa14-Jun-08 4:19 
GeneralRe: realise PinmemberYogesh Jagota14-Jun-08 4:55 
GeneralRe: realise Pinmemberma_sa_ah_pa14-Jun-08 7:35 
GeneralRe: realise PinmemberYogesh Jagota14-Jun-08 7:52 
Question? VS.NET 2003 PinmemberSynetech14-May-08 12:43 
AnswerRe: ? VS.NET 2003 PinmemberYogesh Jagota13-Jun-08 23:49 
QuestionSlick but How Do I See it Work? [modified] PinmemberCodeAlien14-May-08 4:53 
AnswerRe: Slick but How Do I See it Work? PinmemberYogesh Jagota13-Jun-08 23:50 
Generalvery nice work, one suggestion only PinmemberDragan Matic13-May-08 2:29 
NewsRegarding checking out files that are under source-control PinmemberS. Brozius23-Apr-08 4:33 
GeneralRe: Regarding checking out files that are under source-control PinmemberYogesh Jagota13-Jun-08 23:52 
GeneralDoes not work Pinmemberscantwell200621-Apr-08 5:41 
GeneralRe: Does not work PinmemberYogesh Jagota13-Jun-08 23:53 
GeneralBuild increment does not work Pinmemberjpmohr25-Mar-08 3:53 
QuestionCannot install addin Pinmemberprso7-Mar-08 0:15 
AnswerRe: Cannot install addin PinmemberFroghut26-Sep-08 3:58 

General General    News News    Suggestion Suggestion    Question Question    Bug Bug    Answer Answer    Joke Joke    Rant Rant    Admin Admin   

Use Ctrl+Left/Right to switch messages, Ctrl+Up/Down to switch threads, Ctrl+Shift+Left/Right to switch pages.

| Advertise | Privacy | Terms of Use | Mobile
Web02 | 2.8.141216.1 | Last Updated 14 Jun 2008
Article Copyright 2008 by Yogesh Jagota
Everything else Copyright © CodeProject, 1999-2014
Layout: fixed | fluid