Proj0254: Version prefixes should be compliant with Semantic Versioning

When versioning a package, the version prefix provided should be compliant with Semantic Versioning:

Given a version number MAJOR.MINOR.PATCH, increment the:

  1. MAJOR version when you make incompatible API changes
  2. MINOR version when you add functionality in a backward compatible manner
  3. PATCH version when you make backward compatible bug fixes

Non-compliant

<Project Sdk="Microsoft.NET.Sdk">

  <PropertyGroup>
    <TargetFramework>net10.0</TargetFramework>
    <VersionPrefix>3.1.41596-beta0.03</VersionPrefix>
  </PropertyGroup>

</Project>

Compliant

<Project Sdk="Microsoft.NET.Sdk">

  <PropertyGroup>
    <TargetFramework>net10.0</TargetFramework>
    <VersionPrefix>3.1.41596</VersionPrefix>
    <VersionSuffix>beta0.03</VersionSuffix>
  </PropertyGroup>

</Project>