Welcome to the Inedo Forums! Check out the Forums Guide for help getting started.
If you are experiencing any issues with the forum software, please visit the Contact Form on our website and let us know!
Packages with Noncanonical Names errors on internalized packages
-
So we internalize the chocolatey package WinSCP from the chocolatey community repository along with the matching version of the Powershell module of WinSCP from the PSGallery.
In both cases, proget 2025 is giving us a feed error on our powershell and chocolatey repos that this package has a "Noncanonical Name."
It gets indexed in the repo as
winscp
but the nuspec/psd1/psgetmoduleinfo.xml of the package has the id and (file names for nuspec and psd1) asWinSCP
.I am pushing the package via a drop path after some internal processes repackage the nupkg to our internalized format.
The WinSCP.nupkg we put in the drop path has theWinSCP
case in the nupkg file name and the same for the nuspec within.I've tried fully deleting all versions of the package in the gui but re-pushing it has it still coming back as
winscp
in the proget side list of the package and giving this unhealthy feed error.I feel like I'm just missing something simple to fix this.
-
I have tried deleting the packages from my feeds completely, running the package re-index, and then pushing them again and the problem still persists.
-
@jfullmer_7346 this is a bit tricky behind the scenes but hopefully will be resolved with PG-3047 -- which we hope to get in the next or following maintenance release
-
@stevedennis Is there anything extra that needs to be done on my side to fix this with the recent fix. I'm still getting the error for this package. I've tried forcing the case to be the same but no dice thus far.
-
Hi @jfullmer_7346,
unfortunately it looks like the fix didn't work and made things slightly worse
We are reverting that change in ProGet 2025.9 and will try a new approach via PG-3100 - hopefully in ProGet 2025.10
-
@atripp If there's anything I can do to help with troubleshooting or debugging, I am happy to help.
-
@jfullmer_7346 thanks! As an FYI...
- Names and Versions are centrally indexed, and were intended to be "write-only" by design
- NuGet does not have case-sensitive names, but some earlier bugs allowed duplicate names to be created
- we are adding Duplicate Names (e.g.
winscp
andWinSCP
) and Duplicate Versions (e.g.winscp-4.0.0
andWinSCP-4.0.0
checking to feed integrity - When re-indexing a feed, you'll get an option to de-duplicate names/versions, which will fix it across all feeds
- Pulling or Publishing a package will update the casing of a centrally-indexed name
- Also we're getting rid of the concept of "Noncannonical Names" altogether, since we've discovered many NuGet packages "change casing" at some version