I have a solution that represents a releasable product, and it contains both product specific projects, and other projects that are shared across the entire organisation. What’s the best way of stamping a version number for the released project? My current ideas are:
- Set the assembly version on the service project (this is the project that contains the actual executable, which is a windows service). But this feels a bit odd, as it’s basically only a front end to the logic in the core project
- Version the core project assembly. Once again a bit odd as this could end up being broken up in future versions. Which makes finding a version number inconsistent
- Set the version number in the Wix installer project. Good, but can it be automated?
I’d quite like a way to apply the same version number in all of these places, or is there a better way of doing this?
The idea is to create shared
GlobalAssemblyInfo.csfile and include it as external link in each project which should be versioned, in this way you can change version in a single place and all projects pick it up whilstComplieUpdate csproj files once to include shared assembly info: