![]() |
Platforms, Frameworks & Libraries »
Mobile Development »
General
Intermediate
License: The Code Project Open License (CPOL)
Increment Build Number in VS.NETBy AriadneLittle quick and dirty program (60 lines) which updates the version build number each time a release is build |
C#, Windows, .NETCF, .NET (.NET1.1), Visual-Studio (VS.NET2003), Dev
|
|
Advanced Search Add to IE Search |
|
|
|
||||||||||||||||
In VS 6, we had an autoincrement of the build number, if we build a new *.exe file. In VS.NET, I miss this feature. Here I submit a quick and dirty program (60 lines) which updates the version line in AssemblyInfo.cs each time a Release version is build.
Beau Scinner has written a lot about the basics, but it works only in VS 6. In VS.NET is AssemblyInfo.cs file, which contains the information of the Application.ProductVersion in the form of one line:
// Version information for an assembly consists of the following four values:
//
// Major Version
// Minor Version
// Build Number
// Revision
//
// You can specify all the values or you can default the Revision and Build Numbers
// by using the '*' as shown below:
[assembly: AssemblyVersion("1.0.13")]
IncBuildNo reads this file, increments the last number by 1 and writes it back.
IncBuildNo's 1st arg is the path and filename to AssemblyInfo.cs.
Optional it reads a 2nd arg Release. If the 2nd arg is given, but if arg!="Release", IncBuildNo returns without any action, I add this option, that IncBuildNo is able to select the VS.NET environment Release/Debug.
If you omit this 2nd arg or the 2nd arg is Release IncBuildNo increments the last number of the version string (otherwise it skips incrementing).
In the new version, I add some error-output to the Application Event Log.
If you download the project above, you have a complete installed example.
In your own projects, take the following steps:
$(ProductDir)) "$(ProjectDir)IncBuildNo" "$(ProjectDir)AssemblyInfo.cs" $(ConfigurationName)
When build updates the project output Now each time you build a new release, the last number of the version is incremented.
1st Note: After a successful build of a release, AssemblyInfo.cs shows the version of the release +1.
2nd Note: If you use a installation-project when you build your application, you can insert a line in the postbuild event property in the project properties of this installation project. I use e.g.
"$(ProjectDir)IncBuildNo" "$(ProjectDir)..\AssemblyInfo.cs" $(ConfigurationName)
Attention: In this case, the $(ProjectDir) points to the install project, not to the application project. This is the reason for the ..\ phrase in the above line. But then the increment happened only if the building process is running, i.e., you can build a Release-Version without incrementing the build number.
I hope this will help you.
| You must Sign In to use this message board. | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
General
News
Question
Answer
Joke
Rant
Admin
Use Ctrl+Left/Right to switch messages, Ctrl+Up/Down to switch threads.
|
PermaLink |
Privacy |
Terms of Use
Last Updated: 28 Jan 2008 Editor: Deeksha Shenoy |
Copyright 2005 by Ariadne Everything else Copyright © CodeProject, 1999-2010 Web18 | Advertise on the Code Project |