Nuget package with 4 digits

I cannot upload a nuget package in nexus web interface if the package contains 4 digits (and the last one is 0). I saw the issue https://issues.sonatype.org/browse/NEXUS-17712 but I am not sure if it is related. I also read NuGet Package Version Reference | Microsoft Docs. I have two packages, that are a bit different in contents, but have versions 1.0.0 and 1.0.0.0. Unfortunately those are old packages in the company and as Im trying to replace a nuget shared folder by nexus, im facing this issue. The upload is succeeded but nexus acts like it replaced the 1.0.0.0 by the 1.0.0, or it just ignores the 4th digit.

I don’t think the normalized versions are your issue, but if you look at the next section Where NuGetVersion diverges from Semantic Versioning they point out that from the perspective of NuGet 1, 1.0, 1.0.0 and 1.0.0.0 are considered to be the same and equal.

Unfortunately you may need to create distinct repositories, or alternatively re-version the duplicates (e.g. 1.0.01.0.0-alpha or an alternative that is allowed by NuGet and makes sense internally)

1 Like

@mpiggott Thanks for the quick answer. But one thing I noticed when I tried the distinct repository approach was that when I upload the 1.0.0.0 package, nexus only shows it as 1.0.0. Why it doesn’t store the right metadata for the package? :confused:

It use the normalized version number so that uploads of what are effectively the same package (e.g. 1.0.0 and 1.0.0.0) will be blocked when the repository deployment policy is set to disallow overwrites.

1 Like

Thanks @rseddon, that answers my question too. :+1: