Particular/GitVersion — pull request #147 by nulltoken (2014-05-03 13:07:40+00:00)
Title: Strategies for assembly versioning

## Current state of affairs

Currently asmversion is set to `major.minor.0.0` for the purpose of this discussion lets call this strategy `MajorMinor`

## Other potential strategies

* `MajorOnly`= `major.0.0.0``
* `Strict`= `major.minor.patch.0`
* `None` = `1.0.0.0``

## Proposed changes

In order to relieve some of the pain with strongnaming until we can remove it we (NServiceBus) has decided to only put the major into our asm version to avoid asmredirects for minor + patch updates. Ie we're applying the `MajorOnly`strategy from above. I propose that we add at least that one to GitVersion

### Defaults

Should we keep the current strategy as the default?

The way I see it the `MajorMinor` is somewhat between all the others and if you follow SemVer AND is strongnamed I argue that `MajorOnly`is more appropriate.

For non strongnamed projects the obvious strategy would be the `Strict` since its non lossy. Could we in anyway detect this and adjust accordingly?

If we can't detect perhaps `Strict`is the best default and then strongnamed projects can override depending if they follow SemVer or not?