New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Make package ID and version comparison case insensitive #2522
Comments
Related: #2383 |
@yishaigalatzer, we should consider this for CLI RTM since it would necessitate a major change to the global packages folder -- making all IDs and versions lowercase. This change could be breaking in some Mac and Linux scenarios and would necessitate that packages are downloaded or fetched from the HTTP cache again. |
That's a pretty major breaking change. I would first try to find an alternative but if we can't we should have an urgent design meeting with the CLI folks |
My work is done here. The last open item on the checklist mentioned above is owned by ASP.NET team (@troydai) . |
Ensure the paths of the assets and hash files in the package cache are in correct cases. This change accommodate this change on NuGet side: NuGet/Home#2522
Ensure the paths of the assets and hash files in the package cache are in correct cases. This change accommodate this change on NuGet side: NuGet/Home#2522
Ensure the paths of the assets and hash files in the package cache are in correct cases. This change accommodate this change on NuGet side: NuGet/Home#2522
The server already does this and version comparison in memory is case insensitive. We've also done a pretty good job about making ID comparison in memory a case insensitive operation.
However, there are places where ID comparisons are case sensitive. Namely, code that interacts with the file system. For example, when a local source is a directory of .nupkgs, the ID comparisons are case sensitive.
The plan forward here is:
libraries
node) has a path. The value of this property should be{id}/{version}
component of a path which can be used along with the global packages folder to get the absolute path to package assets..deps.json
file."hashPath"
to the.deps.json
file.path
property over the concatenation of ID and version when reading the.deps.json
file and use the"hashPath"
property when available..deps.json
file.DOTNET_HOSTING_OPTIMIZATION_CACHE
to ensure the new cache is built with the proper format.The text was updated successfully, but these errors were encountered: