472,374 Members | 1,319 Online
Bytes | Software Development & Data Engineering Community
Post Job

Home Posts Topics Members FAQ

Join Bytes to post your question to a community of 472,374 software developers and data experts.

Auto Increment Version in VB 2005

vul
In VB6 there is Auto Increment check box in Project Properties, which allow
you have a new version every time you compile the project.
Is there any easy way to have this feature in VB 2005?
Some of my blocks of code check and compare versions of EXE and DLLs located
on the local workstation and the server. So it's very important for me to
have an incremented number in case the project was rebuilt. It can be done
manually, of course, but I miss VB6 feature.

Thank you
Al
Jul 31 '06 #1
5 4965
vul wrote:
In VB6 there is Auto Increment check box in Project Properties, which allow
you have a new version every time you compile the project.
Is there any easy way to have this feature in VB 2005?
Some of my blocks of code check and compare versions of EXE and DLLs located
on the local workstation and the server. So it's very important for me to
have an incremented number in case the project was rebuilt. It can be done
manually, of course, but I miss VB6 feature.
In VB 2005, the version number is incremented when you Publish the app.

1. Right click on the project and choose Properties
2. Click on the Publish tab
3. At the bottom you will see Publish Version and a check box to auto
increment it.

Aug 1 '06 #2
You can open the AssemblyInfo.vb file directly and change the following
lines:

' You can specify all the values or you can default the Build and Revision
Numbers
' by using the '*' as shown below:
' <Assembly: AssemblyVersion("1.0.*")>

<Assembly: AssemblyVersion("1.0.0.0")>

The second AssemblyVersion line uses a fixed assembly version, the first
(that's commented out) uses a "sequencial". Its sequencial in the fact that
it encodes the date & time of the build that is set VS started (multiple
builds within one VS session will normally have the same build & revision
numbers).

Alternatively you can set the various parts of the Assembly Version fields
to * under "Project - xxx Properties - Application - Assembly Information"
Alternatively there are various "add-ins" available for MSBuild (the
underlying build engine in VB 2005) that will autoincrement the assembly
version, such as:

http://weblogs.asp.net/bradleyb/arch...02/432150.aspx
--
Hope this helps
Jay B. Harlow [MVP - Outlook]
..NET Application Architect, Enthusiast, & Evangelist
T.S. Bradley - http://www.tsbradley.net
"vul" <aa*@optonline.netwrote in message
news:e4**************@TK2MSFTNGP03.phx.gbl...
| In VB6 there is Auto Increment check box in Project Properties, which
allow
| you have a new version every time you compile the project.
| Is there any easy way to have this feature in VB 2005?
| Some of my blocks of code check and compare versions of EXE and DLLs
located
| on the local workstation and the server. So it's very important for me to
| have an incremented number in case the project was rebuilt. It can be done
| manually, of course, but I miss VB6 feature.
|
| Thank you
| Al
|
|
Aug 1 '06 #3
Jay B. Harlow [MVP - Outlook] wrote:
You can open the AssemblyInfo.vb file directly and change the following
lines:

' You can specify all the values or you can default the Build and Revision
Numbers
' by using the '*' as shown below:
' <Assembly: AssemblyVersion("1.0.*")>
Hi Jay

In Jeffry Richter's book, "Applied Microsoft .Net Framework
Programming", Microsoft Press, 2002, he says not to use that feature:

Quote:

The CSC.exe and AL.exe tools support the ability to automatically
increment the assembly version number with each build. This feature is
a bug and shouldn't be used because changing the assembly version
number will break any assemblies that reference this assembly. The
AssemblyInfo.cs file that Visual Studio .Net automatically creates for
you when you create a new project is in error: it sets the
AssemblyVersion attribute so that its major and minor parts are 1.0 and
that the build and revision parts are automatically updated by the
compiler. You should definitely modify this file and hard-code all
four parts of the assembly version number.

End Quote

Do you know if the issues he refers to still exist in VS2005?

Just curious.

Chris

Aug 1 '06 #4
Al
Chris,
thank you.
I'm working on Class Library project (DLL) in VB 2005.
DLL is going to be on the server and VB6 client will compare the versions of
DLL on the workstation and on the server, in case they are different the
workstation DLL will be replaced with the server instance.
Of course I can manually increment the version number, but it's an extra
step, and being spoiled by VB6 auto increment, it's possible to forget to do
that.
Unfortunately I do not see Publish Tab in Project properties for Class
Library project. I have that tab for Wondows Application project though.

Al

"Chris Dunaway" <du******@gmail.comwrote in message
news:11**********************@h48g2000cwc.googlegr oups.com...
vul wrote:
>In VB6 there is Auto Increment check box in Project Properties, which
allow
you have a new version every time you compile the project.
Is there any easy way to have this feature in VB 2005?
Some of my blocks of code check and compare versions of EXE and DLLs
located
on the local workstation and the server. So it's very important for me to
have an incremented number in case the project was rebuilt. It can be
done
manually, of course, but I miss VB6 feature.

In VB 2005, the version number is incremented when you Publish the app.

1. Right click on the project and choose Properties
2. Click on the Publish tab
3. At the bottom you will see Publish Version and a check box to auto
increment it.

Aug 1 '06 #5
Chris,
I agree with his statement 99%, especially when you don't rebuild all
related projects at the same time. I wouldn't say its a bug as much as
intended behavior! You want the referencing assemblies to break if you make
a "material" changes aka a breaking change. The compile is just assuming
that *ALL* changes are "material" changes.

I use the feature extensively as I normally have all related projects in a
single solution & rebuild all at the same time... Also with refactoring its
not uncommon for me to very easily introduce a material change. Ergo I'm
assuming that *ALL* my changes are "material" changes.

FWIW:
<quote>
| You should definitely modify this file and hard-code all
| four parts of the assembly version number.
</quote>
Is also a bug waiting to happen, if you make a "material" change in one
assembly & forget to increment the version #, then the assembly will
continue to load & run. If the "material" change is such that it is rarely
executed, it could be a while before the change causes your program to
crash.

| Do you know if the issues he refers to still exist in VS2005?
Yes.

--
Hope this helps
Jay B. Harlow [MVP - Outlook]
..NET Application Architect, Enthusiast, & Evangelist
T.S. Bradley - http://www.tsbradley.net
"Chris Dunaway" <du******@gmail.comwrote in message
news:11**********************@75g2000cwc.googlegro ups.com...
| Jay B. Harlow [MVP - Outlook] wrote:
| You can open the AssemblyInfo.vb file directly and change the following
| lines:
| >
| ' You can specify all the values or you can default the Build and
Revision
| Numbers
| ' by using the '*' as shown below:
| ' <Assembly: AssemblyVersion("1.0.*")>
| >
|
| Hi Jay
|
| In Jeffry Richter's book, "Applied Microsoft .Net Framework
| Programming", Microsoft Press, 2002, he says not to use that feature:
|
| Quote:
|
| The CSC.exe and AL.exe tools support the ability to automatically
| increment the assembly version number with each build. This feature is
| a bug and shouldn't be used because changing the assembly version
| number will break any assemblies that reference this assembly. The
| AssemblyInfo.cs file that Visual Studio .Net automatically creates for
| you when you create a new project is in error: it sets the
| AssemblyVersion attribute so that its major and minor parts are 1.0 and
| that the build and revision parts are automatically updated by the
| compiler. You should definitely modify this file and hard-code all
| four parts of the assembly version number.
|
| End Quote
|
| Do you know if the issues he refers to still exist in VS2005?
|
| Just curious.
|
| Chris
|
Aug 1 '06 #6

This thread has been closed and replies have been disabled. Please start a new discussion.

Similar topics

5
by: diong | last post by:
i have a field with a list of wrong ID (random) and i wish to replac them with a sequential (auto-increment) value. how to remove the valu and to add in the sequential ID? Im a newbie in ASP! Pls...
2
by: Tom | last post by:
I am trying to store information into a table that has an auto increment field. There is currently no data in the table. Using the code below I cannot insert data into the table. I get an error...
6
by: Alpha | last post by:
I retrieve a table with only 2 columns. One is a auto-generated primary key column and the 2nd is a string. When I add a new row to the dataset to be updated back to the database. What should I...
4
by: Klaus Jensen | last post by:
Hi! In VB6 I could set an option, so that when the app was built, the version number (minor) would autoincrement. It was also possible to access version information via code to display in a...
5
by: Kevin | last post by:
I have the auto increment checked, but it only increments when I reopen the project. I am using VS2003 educational version thanks kevin
5
by: Paulovič Michal | last post by:
hi all, I have problem with SERIAL field type (or sequence functionality). I have table with three columns - ID, IDS, NAME. I want auto-increment IDS grouped by ID. Example: 1, 1, Ferdo 1, 2,...
2
by: David Veeneman | last post by:
I am using the "1.0.*" pattern to auto-increment the AssemblyVersion attribute of my project's assembly. I'd like to have the assembly's AssemblyFileVersion attribute match this value, so that I...
2
by: john | last post by:
Is it true that if I split my access database in backend and frontend and I implement custom auto increment for the ID fields, that my database is ready to be used in a multi-user environment? I...
13
by: S.Dickson | last post by:
I had an access database that i use as an ordering system. I have a form for entering customer details. When i add a new customer on the form the customer number is an auto number that appears when...
0
by: antdb | last post by:
Ⅰ. Advantage of AntDB: hyper-convergence + streaming processing engine In the overall architecture, a new "hyper-convergence" concept was proposed, which integrated multiple engines and...
0
hi
by: WisdomUfot | last post by:
It's an interesting question you've got about how Gmail hides the HTTP referrer when a link in an email is clicked. While I don't have the specific technical details, Gmail likely implements measures...
1
by: Matthew3360 | last post by:
Hi, I have been trying to connect to a local host using php curl. But I am finding it hard to do this. I am doing the curl get request from my web server and have made sure to enable curl. I get a...
0
Oralloy
by: Oralloy | last post by:
Hello Folks, I am trying to hook up a CPU which I designed using SystemC to I/O pins on an FPGA. My problem (spelled failure) is with the synthesis of my design into a bitstream, not the C++...
0
by: Carina712 | last post by:
Setting background colors for Excel documents can help to improve the visual appeal of the document and make it easier to read and understand. Background colors can be used to highlight important...
0
BLUEPANDA
by: BLUEPANDA | last post by:
At BluePanda Dev, we're passionate about building high-quality software and sharing our knowledge with the community. That's why we've created a SaaS starter kit that's not only easy to use but also...
2
by: Ricardo de Mila | last post by:
Dear people, good afternoon... I have a form in msAccess with lots of controls and a specific routine must be triggered if the mouse_down event happens in any control. Than I need to discover what...
1
by: Johno34 | last post by:
I have this click event on my form. It speaks to a Datasheet Subform Private Sub Command260_Click() Dim r As DAO.Recordset Set r = Form_frmABCD.Form.RecordsetClone r.MoveFirst Do If...
0
DizelArs
by: DizelArs | last post by:
Hi all) Faced with a problem, element.click() event doesn't work in Safari browser. Tried various tricks like emulating touch event through a function: let clickEvent = new Event('click', {...

By using Bytes.com and it's services, you agree to our Privacy Policy and Terms of Use.

To disable or enable advertisements and analytics tracking please visit the manage ads & tracking page.