Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

.net: Version numbers for DLL vs EXE?

I have been recently versioning my product (exe) and increasing the build number each time in assemblyinfo.cs.

Works great, my product is currently on version 1.5.x.x so in increase the 4 digit each time I have a successful build.

Now I have my DLLs which are also part of my application.

How could I version these? Should I version these the same as my exe i.e, 1.5.x.x or should i create another different version number?

This is where I am currently a little confused.

When my product increases in functionality I can raise 1.5 to 2.0 but where does this leave my DLLs?

like image 652
Martin Avatar asked Jun 26 '11 16:06

Martin


3 Answers

You'll probably get multiple opinions, but I would say to keep it simple and have the EXEs and the DLLs version stay in sync. I might change my opinion if you really intend to release versions of the DLLs and EXEs independently, but you don't make any mention of that as a requirement. You would take this approach if you are treating some of your files like 3rd-party components (which are released on a different schedule from the main product). But again, if you don't have this requirement, I would say just keep all the file versions in sync.

The convention I have seen work well is to use the first 3 numbers to represent the product version (major/minor etc..) and the 4th part of the version number represents the source control version (so you know exactly which source files the binary came from).

Hope that helps,

John

like image 192
JohnD Avatar answered Sep 28 '22 07:09

JohnD


In my opinion you have to manage their versions separate.

Because 2 applications(EXE) can use the same DLL. What version the DLL will be ?

The DLL's version should be independent of the EXE that runs it.

like image 44
Maxim Avatar answered Sep 28 '22 07:09

Maxim


In my opinion you should have only one assemblyinfo file that is shared across the application. That way it is easy to maintain it. And of course it implies you have a single version for all your assemblies which is the acceptable norm to me. refer this.

like image 31
Illuminati Avatar answered Sep 28 '22 06:09

Illuminati