Proj0201: Define the project version explicitly

To ensure the creation of well-formed NuGet packages, explicitly define the <Version> node or disable package generation by defining the <IsPackable> node with value false.

Non-compliant

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

  <PropertyGroup>
    <TargetFramework>net8.0</TargetFramework>
    <IsPackable>true</IsPackable>
  </PropertyGroup>

</Project>

Compliant

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

  <PropertyGroup>
    <TargetFramework>net8.0</TargetFramework>
    <IsPackable>true</IsPackable>
    <Version>1.0.0</Version>
  </PropertyGroup>

</Project>

Or use version prefix and suffix:

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

  <PropertyGroup>
    <TargetFramework>net8.0</TargetFramework>
    <IsPackable>true</IsPackable>
    <VersionPrefix>1.2.3</VersionPrefix>
    <VersionSuffix>preview001</VersionSuffix>
  </PropertyGroup>

</Project>

Or use version prefix:

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

  <PropertyGroup>
    <TargetFramework>net8.0</TargetFramework>
    <IsPackable>true</IsPackable>
    <VersionPrefix>2.5.7</VersionPrefix>
  </PropertyGroup>

</Project>

Or disable packability:

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

  <PropertyGroup>
    <TargetFramework>net8.0</TargetFramework>
    <IsPackable>false</IsPackable>
  </PropertyGroup>

</Project>

More info

  1. gist.github.com