This change is required for RTM stable builds. When stable versions are generated the CalculateTemplateVersions task will fail.
For .NET 3.x, installer is partially on arcade. It uses its own versioning model, but the arcade generated versions are actually set (specifically VersionSuffix). So even when stable builds are generated, VersionSuffix is available. It is unused when the aspnetcore template versions are stable.
For .NET 5, installer is now fully on arcade versioning, which means VersionSuffix is not set when stable versions are generated.
Instead of using installer's version suffix if aspnetcore's template versions are unstable, use the version suffix of the aspnetcore template versions. This subtley affects the installer directory of the templates:
If the aspnetcore version is: 5.0.0-rc.1.1234.5
And the installer version is: 5.0.100-rc.1.9999.9
Then:
Template install dir before this change: .dotnet\templates\5.0.0-rc.1.9999.9
Template install dir after this change: .dotnet\templates\5.0.0-rc.1.1234.5
Of note: The overall template layout doesn't make a ton of sense. The aspnetcore template version is used for the install directory, but many different templates are put in this directory, including some that have completely different versions.