Proj0246: Define VersionPrefix if VersionSuffix is defined
By default the VersionPrefix
and VersionSuffix
nodes have no semantic meaning by themselves.
They are used as a default value for the Version
node.
By default VersionPrefix
has value 1.0.0
and VersionSuffix
is empty.
Version
defaults to {VersionPrefix}-{VersionSuffix}
if VersionSuffix
is non-empty
or {VersionPrefix}
otherwise.
Therefore it is most likely an error to set a suffix version, while keeping the implicit default 1.0.0
version.
Non-compliant
Resulting in version 1.0.0-preview001
:
<Project Sdk="Microsoft.NET.Sdk">
<PropertyGroup>
<TargetFramework>net9.0</TargetFramework>
<VersionSuffix>preview001</VersionSuffix>
</PropertyGroup>
</Project>
Compliant
Resulting in version 1.2.3-preview001
:
<Project Sdk="Microsoft.NET.Sdk">
<PropertyGroup>
<TargetFramework>net9.0</TargetFramework>
<VersionPrefix>1.2.3</VersionPrefix>
<VersionSuffix>preview001</VersionSuffix>
</PropertyGroup>
</Project>