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!
Unable to restore package jQuery.Cookie.1.4.0
-
When we try to restore that specific package from ProGet server, it fails to obtain it.
For all other packages It works fine, it's just with that one that we've got a problem.
Our ProGet feed is configured to cache packages from connectors, and we have only one connector to "https://www.nuget.org/api/v2/".
When browsing the feed with the web interface we can find the package.
But when we ask to visual studio to restore packages from the API it fails on that specific package.Under fiddler we can see that the request "http://srv-rd-packages.talentsoft.com/nuget/Talentsoft/Packages(Id='jQuery.Cookie',Version='1.4.0')"
returns an empty response :
<?xml version="1.0" encoding="utf-8"?><feed xml:base="http://srv-rd-packages.talentsoft.com/nuget/Talentsoft/" xmlns:d="http://schemas.microsoft.com/ado/2007/08/dataservices" xmlns:m="http://schemas.microsoft.com/ado/2007/08/dataservices/metadata" xmlns="http://www.w3.org/2005/Atom"><title type="text">Packages</title><id>http://srv-rd-packages.talentsoft.com/nuget/Talentsoft/Packages</id><updated>2014-10-22T10:04:31Z</updated><link rel="self" title="Packages" href="Packages" /></feed>We also observed that this package had never be added to the cache folder of the feed.
We try to manually add the package to the cache folder but it didn't change anything.
Finally we pull the package to ProGet feed, and now it works.
Anybody can reproduce that ?
As we have no problem to restore that package when we target "https://www.nuget.org/api/v2/" from visual studio, I can't blame the package. I can only imagine that its structure contains something that makes the ProGet API fails.Product: ProGet
Version: 3.2.0
-
We have reproduced this, and determined that it has to do with the way nuget.org handles casing. If all lowercase (Id='jquery.cookie') is used, then results are returned. This is because we currently handle these types of queries by just translating them to use a filter instead (Id eq 'jQuery.Cookie'), for compatibility with older servers, and it seems that the 'eq' operator is always case-sensitive on nuget.org.
We may not need to be doing this translation at all anymore, since it's been a while since that new syntax has been introduced, but for now we will make a change to wrap this type of query in a tolower() odata function, which we have confirmed fixes the issue with this package. We'll include this fix in the next maintenance release.