Click here to Skip to main content
15,891,905 members
Articles / Programming Languages / Visual Basic

Project Version Updater

Rate me:
Please Sign up or sign in to vote.
4.82/5 (20 votes)
11 Nov 2011CPOL5 min read 52.4K   1.6K   71  
Updates the AssemblyVersion and FileVersion attributes in the AssemblyInfo file for a project
<?xml version="1.0" encoding="utf-8" ?>
<versionupdater>
    <schemas>
        <!-- method must be one of the values of methods values below -->
        <schema name="default">
            <!-- detail name -->
            <!-- assembly      - changes assembly version -->
            <!-- file          - changes file version -->
            <!-- assembly/file - changes both - if file and assembly versions match 
                    then this will keep them synchronized -->
            <detail name="assembly/file">
                <level name="major" method="ignore" parameter=""/>
                <level name="minor" method="ignore" parameter=""/>
                <level name="build" method="ignore" parameter=""/>
                <level name="revision" method="ignore" parameter=""/>
            </detail>
        </schema>
        <schema name="increment_revision">
            <detail name="assembly">
                <level name="major" method="ignore" parameter=""/>
                <level name="minor" method="ignore" parameter=""/>
                <level name="build" method="ignore" parameter=""/>
                <level name="revision" method="increment" parameter=""/>
            </detail>
            <detail name="file">
                <level name="major" method="ignore" parameter=""/>
                <level name="minor" method="ignore" parameter=""/>
                <level name="build" method="ignore" parameter=""/>
                <level name="revision" method="ignore" parameter=""/>
            </detail>
        </schema>
        <schema name="increment_revision_by_day">
            <detail name="assembly/file">
                <level name="major" method="ignore" parameter=""/>
                <level name="minor" method="ignore" parameter=""/>
                <level name="build" method="dayvalue" parameter=""/>
                <level name="revision" method="incrementreseteachday" parameter=""/>
            </detail>
        </schema>
        <schema name="daily">
            <detail name="assembly/file">
                <level name="major" method="year" parameter=""/>
                <level name="minor" method="month" parameter=""/>
                <level name="build" method="day" parameter=""/>
                <level name="revision" method="incrementreseteachday" parameter=""/>
            </detail>
        </schema>
        <schema name="fixed_increment">
            <detail name="assembly">
                <level name="major" method="fixed" parameter="0"/>
                <level name="minor" method="fixed" parameter="9"/>
                <level name="build" method="fixed" parameter="0"/>
                <level name="revision" method="increment" parameter=""/>
            </detail>
            <detail name="file">
                <level name="major" method="ignore" parameter=""/>
                <level name="minor" method="ignore" parameter=""/>
                <level name="build" method="ignore" parameter=""/>
                <level name="revision" method="ignore" parameter=""/>
            </detail>
        </schema>
        <schema name="fixed_increment_build_each_day">
            <detail name="assembly/file">
                <level name="major" method="fixed" parameter="0"/>
                <level name="minor" method="fixed" parameter="9"/>
                <level name="build" method="incrementeachday" parameter=""/>
                <level name="revision" method="incrementreseteachday" parameter=""/>
            </detail>
        </schema>
        <schema name="daily_revision_from_subversion">
            <detail name="assembly/file">
                <level name="major" method="year" parameter=""/>
                <level name="minor" method="month" parameter=""/>
                <level name="build" method="day" parameter=""/>
                <level name="revision" method="fromsubversion" parameter="http://itws0078.american-equity.com:444/svn/VisualStudio/trunk/projects/UpdateVer/Main.vb"/>
            </detail>
        </schema>
    </schemas>
    <!--do not change these unless more are added in application - hard-coded in app-->
    <methods>
        <method name="ignore"/>
        <method name="increment"/>
        <method name="incrementeachday"/>
        <method name="incrementreseteachday"/>
        <method name="random"/>
        <method name="dayvalue"/>
        <method name="dayvaluefrom"/>
        <method name="secondvalue"/>
        <method name="secondvaluefrom"/>
        <method name="fixed"/>
        <method name="year"/>
        <method name="month"/>
        <method name="day"/>
        <method name="frmsubversion"/>"
    </methods>
</versionupdater>

By viewing downloads associated with this article you agree to the Terms of Service and the article's licence.

If a file you wish to view isn't highlighted, and is a text file (not binary), please let us know and we'll add colourisation support for it.

License

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


Written By
United States United States
Visual Basic Developer since version 1.0
Java web developer
Currently developing in vb and c#

Comments and Discussions