![]() |
Platforms, Frameworks & Libraries »
Mobile Development »
General
Intermediate
License: The Code Project Open License (CPOL)
Increment Build No in VS.NetBy AriadneLittle quick and dirty programm (60 lines), which updates the version build no each time a release is build |
C#, Windows, .NET CF, .NET 1.1VS.NET2003, Dev
|
||||||||||
|
Advanced Search |
|
|
|
||||||||||||||||
In VS 6 we had an autoincrement of the build no, if we build a new *.exe file. In VS.NET I missed this feature. Here I submit a quick and dirty program (60 lines), which updates the version line in AssamblyInfo.cs each time a Release version is build.
Application.ProductVersion in 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 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 enviroment 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 incrementation).
In the new version I add some error-output to the Application Event Log.
In your own projects take the follwing steps:
AssemblyInfo.cs (normally the $(ProductDir))
"$(ProjectDir)IncBuildNo" "$(ProjectDir)AssemblyInfo.cs" $(ConfigurationName)
When build updates the project output
1st Note: After a successfull 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 eg.
"$(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 happend only, if the building process is running. I.e. you can build a Release-Version without increment the build no.
I hope, this helps you.
| You must Sign In to use this message board. | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||
General
News
Question
Answer
Joke
Rant
Admin
|
PermaLink |
Privacy |
Terms of Use
Last Updated: 28 Jan 2008 Editor: |
Copyright 2005 by Ariadne Everything else Copyright © CodeProject, 1999-2009 Web12 | Advertise on the Code Project |