I would not say that the change in versions has been particularly dramatic. In the xyz version number, “x” means “big changes / breaking changes”, “y” means “minor additions and corrections”, and “z” means “very minor corrections”. This is pretty close to what Semantic Versioning (SemVer) means.
In a project based on project.json , there is only one place to specify the version, and in the project.json file itself. This version is SemVer (for example, xyz-prerel ) and is used for the NuGet package version and assembly version, as well as for the informational version of the assembly. If you explicitly installed the assembly version or the information version in the assembly, they will be respected and will not be overridden. (You can see the code here .)
At run time, you can read the assembly version through reflection (just like you always could).
When launched, the DNX application also has an ILibraryManager interface that you can use to verify the running application. However, this is a rather complicated scenario.
Finally, in the project.json file, you can hard-code part of the xyz version of the version, for example. 1.2.3 , but you can also specify * for the preliminary version specifier, for example. 1.2.3-* . If you use * for the preview qualifier, you can set an environment variable named DNX_BUILD_VERSION to specify the value * , for example. beta1 or rc2-54289 .
There are several feature requests that are logged to provide more flexibility when specifying the entire version number from the outside.
Eilon
source share