Having a package in the local cache with schema version compatible w/nuget 2.5 breaks other versions of nuget if you point nuget to a specific source or sources

Topics: Ecosystem, General
May 30, 2013 at 1:08 PM
Is this a known issue? I can have items in the cache and install things just fine, until I take an older version of nuget and try to point it to specifically to a source, then it fails every time. It only fails if I have a package in the local cache that specifies a min client version (metadata minClientVersion="2.5") in the schema.

If I install without specifying a source, it gives me a warning and still installs successfully. This seems like a bug.

Steps to reproduce:
  1. Install older version of nuget.exe (I have 2.1.0 aka 2.1.31002.9028 on path).
  2. Download Reuse nupkg and place it in %localappdata%\nuget\cache - download from here (http://nuget.org/api/v2/Package/Reuse/)
  3. Try to install ANYTHING specifying the source . (i.e. nuget install EntityFramework -Source "https://nuget.org/api/v2/").
  4. Note that any use of nuget less than 2.5 is now broken for specifying ANY source, even different locations.
Here's the message:
C:\Temp>nuget install entityframework -Source "https://nuget.org/api/v2/"
The schema version of 'Reuse' is incompatible with version 2.1.31022.9038 of NuG
et. Please upgrade NuGet to the latest version from http://go.microsoft.com/fwli
I realize the answer should be that we should upgrade immediately, but with ecosystem tools there is quite a bit of testing that needs to happen first before we'll jump in with the latest version. This is kind of a bug because it should produce a warning like it does when you don't specify a source, not an error.
May 30, 2013 at 1:13 PM
It looks like I can specify -NoCache so I might have a workaround for now.