If Octopus produces a package with a Version (3.1.20988.195 ) why should I Version the assemblies using
[assembly: AssemblyVersion(“3.1.20988.195”)] or [assembly: AssemblyFileVersion(“3.1.20988.195”)] or [assembly: AssemblyInformationalVersion(“3.1.20988.195”)]?
Assembly versions and deployment package versions serve different purposes.
The Octopus package version represents the version of the deployed component (website, windows service, etc). It is displayed on the Octopus dashboards, allowing you to see which version of your components are deployed to which of your environments.
The assembly versions are used for references between assemblies. For example, you could have multiple versions of your MyLibrary.dll in the GAC. You may wish to say MyApplicationA.dll references version 1.0.0 of MyLibrary.dll, while MyApplicationB.dll references version 2.0.0 of MyLibrary.dll.
Whether or how you version your assemblies really depends on how you share them within your organization. This StackOverflow question provides an interesting discussion on assembly versioning.
I hope this helps,