How to publish nuget prerelease version package

I understand how to publish a nuget package using nuget command line

nuget command line

But I Have searched around I don't find docs about how to publish a nuget prerelease package

enter image description here


You only need to specify a version string that uses SemVer format (e.g. 1.0-beta) instead of the usual format (e.g. 1.0) and NuGet will automatically treat it as a prerelease package.

"As of NuGet 1.6, NuGet supports the creation of prerelease packages by specifying a prerelease string in the version number according to the Semantic Versioning (SemVer) specification." See NuGetDocs - Prerelease Versions


Also, prerelease version don't show up if their version number is lower than the stable version. For example if you have

  • MyNuget v1.0.26
  • MyNuget v1.0.25-beta

Only the stable version will appear in the list.

If you have

  • MyNuget v1.0.26
  • MyNuget v1.1.25-beta

The Prerelease version will be installable.


Just simply add "-alpha" or "-beta" to version key of your .nuspec file. This will publish your client as prerelease version.

Important Tip: Suppose, you want to test a version 7.6.6.4, then you can add -alpha in 7.6.6.4-alpha. Avoid adding -alpha to your already published version, like: 7.6.6.3-alpha

Sample:

<?xml version="1.0" encoding="utf-8"?>
<package xmlns="http://schemas.microsoft.com/packaging/2013/05/nuspec.xsd">
  <metadata>
    <id>AnalyticalService.Client</id>
    <version>7.6.6.4-alpha</version>
    <title>.net client for Analytical Service</title>
    <authors>Kushal Seth</authors>
    <owners>Kushal Seth</owners>
    <requireLicenseAcceptance>false</requireLicenseAcceptance>
    <description>Alpha version for events integration</description>
    <summary>Alpha version for events integration</summary>
    <dependencies>
      <dependency id="EntityFramework" version="6.1.3" />
      <dependency id="Newtonsoft.Json" version="11.0.2" />
      <dependency id="System.Net.Http" version="4.0.0" />
      <dependency id="System.Net.Http.Formatting.Extension" version="5.2.3" />
      <dependency id="WindowsAzure.Storage" version="9.3.3" />
      <dependency id="Polly" version="7.1.0" />
      <dependency id="Microsoft.Azure.KeyVault.Core" version="1.0.0" />
      <dependency id="NETStandard.Library" version="1.6.1" />
      <dependency id="Microsoft.NETCore.Platforms" version="1.1.0" />
    </dependencies>
  </metadata>
  <files>
    <file src="E:\service\AnalyticalService\src\AnalyticalService.Client\bin\Release\AnalyticalService.Client.dll" target="lib\AnalyticalService.Client.dll" />
    <file src="E:\service\AnalyticalService\src\AnalyticalService.Client\bin\Release\AnalyticalService.Model.dll" target="lib\AnalyticalService.Model.dll" />
  </files>
</package>

To check your published package in Nuget Package Manager, you must select this checkbox: (I am using VS 2019 Professtional 16.8 version, you may have similar option in your VS version)

enter image description here