I am building a C# solution in Visual Studio 2008 that has several projects and project dependencies.
  I am looking for a way to change dll version numbers ONLY when the code that builds the project changes.  
I currently use Beyond Compare to compare my locally built version to the production file system.  The goal is to ONLY deploy updated dlls.  I am using autoincrementing version numbers, and each time you open visual studio and do a build, all dll version numbers increment.  The same goes for a full solution rebuild and when a different developer does a build and tries to deploy.
 Is there a way that i can configure Visual Studio to ONLY increment the build number based on changed file contents?  Is there an add in that will do this?
It seems a binary comparison of these files will also fail because of the different version numbers within the dlls.  Does anyone know of a better tool compare only the contents of dlls?
Thanks in advance.
One option is to move to a continuous integration solution such as Cruise Control .Net this allows builds to be triggered on check in to a source control system.
Regarding assembly versioning what I usually do is create a single SolutionVersion.cs (to replace the default assembly version cs) that is linked to each project (use the add existing item but change the button to add as link)
Then I use a NAnt or MSBuild task to take the cruise control build label number and overwrite the SolutionVersion.cs verison numbers before the solution gets built
That way I can take an assembly and trace it back to the code via CruiseControl build version (even better I usually get CC.net to label the source with the same number in source control)
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With