SvnVersionTasks v1.0

Rating: No reviews yet
Downloads: 38
Released: Nov 4, 2009
Updated: Nov 4, 2009 by nyxtom
Dev status: Stable Help Icon

Recommended Download

Application SvnVersionTasks.x86.msi
application, 5155K, uploaded Nov 4, 2009 - 29 downloads

Other Available Downloads

Application SvnVersionTasks.x64.msi
application, 6146K, uploaded Nov 4, 2009 - 9 downloads

Release Notes

Stable Release 1.0

This is the most recent and stable release that works with Visual Studio and MSBuild tasks. Run the installer to have the tasks setup in your MSBuild directory. Ensure that you have MSBuild Community tasks for extended MSBuild functionality.

CruiseControl and Visual Studio Projects

You can modify any existing project after running the installer for your machine (x64 or x86) and will be up an running with Svn Version MSBuild Tasks. Most will use CruiseControl and integrate automated deployments and packaging. You can install this on the CruiseControl server to enable that functionality.

Note: This will need to be installed on any machine that needs to build a project that adds the MSBuild tasks/targets. This means any developer's machine as well as any servers performing automated builds.

Install x86 or x64 by downloading the appropriate msi file

Version Management Numbers

The SvnTools.Tasks.VersionManagement library contains two new MSBuild tasks. The first task, UpdateVersion, runs in the BeforeCompile target, and updates the files containing version number attributes. The second task, RevertVersionChange, reverts the change(s) made to the files so that no local modifications will show up.

The UpdateVersion task performs two duties:
  • In the case that the working copy is "clean", meaning it is not mixed-revision, and it has no local modifications, it updates the AssemblyVersion attribute's version number to be the revision of the working copy. In the case that the working copy isn't "clean", it sets the version number to "0.0.0.0".
  • It removes any "AssemblyFileVersion" attributes it finds. This attribute was considered dangerous, because if this attribute differs from "AssemblyVersion", then the .NET assembly version will be different than the version that the file reports, and we couldn't think of any circumstances where this wouldn't cause confusion.

The RevertVersionChange task simply reverts the change, causing the file to return to exactly what it looked like before.

Note: that the version can only contain unsigned 16-bit numbers, so we're limited to 65,535 unique revision numbers. We will place the final 4 digits of the revision number into the final component, and the rest of the digits into the 3rd component.

Several examples of the possible changes to version numbers follow (assume a clean working copy at revision 31886):

"1.0.0.0" -> "1.0.3.1886"
"1.0.*" -> "1.0.3.1886"
"1.0" -> "1.0.3.1886"
"1.0.0.*" -> "1.0.3.1886"

If the working copy is not clean, of course, all resulting version numbers will be "0.0.0.0".

Reviews for this release

No reviews yet for this release.