153
votes

We are moving our package management from manually updating files to NuGet. I am trying to install older versions of packages to match the one we already have in source control. There is no way to do this from the UI so I use the command line to get the proper version.

For some reason, Install-Package keeps on telling me that the nuget gallery is unreachable.

The source at nuget.org [https://www.nuget.org/api/v2/] is unreachable. Falling back to NuGet Local Cache

This happens only in one of our solutions. If I create a new solution or use another one in the same repository, packages will install as expected. I can even install the packages in a dummy solution to fill the local cache and then install them successfully in the faulty solution. I have tried to Invoke-WebRequest on the url from the NuGet Console and I get an HTTP 200.

What can cause this? Is there a way to override the package sources on a per solution/project basis?

13
I'm having this same issue. I've installed the VS 2013 Update 2 yesterday, perhaps this is a new bug...? Btw, I can install any package through the "Manage NuGet Packages" dialog without problems, this issue only happens on the Package Manager Console.rsenna
I've got the same problem. Always works in the Manage Packages dialog -- never works in Package Manager Console.David Tansey
Restarting Visual Studio fixed this for me ಠ_ಠChris Marisic

13 Answers

340
votes

Even though my Package Source was set to nuget.org in Package Manager Console, explicitly adding the -Source nuget.org argument fixed this for me.

So an example of use would be:

Install-Package Akka.net -Source nuget.org

Akka.net being your package that you want to install, its just an example here.

10
votes

I had to copy the default NuGet source in Visual Studio's options. With the copied source, I changed the URL from https to http. This resolved the problem for me.

Credit for this suggestion belongs here: https://nuget.codeplex.com/discussions/561075#PostDetailsCell_1354351, to "jpharris4".

7
votes

You can change NuGet source from UI as well. Just change NuGet source to older version and it should work fine.

enter image description here

There seems to be still few bugs in VS 2015 related to api.nuget.org (v3).

6
votes

I'm not sure what can cause your issue, but there is indeed a way to override package sources on a per-solution basis, but only if you've enabled NuGet Package Restore on the given solution.

Once a solution has enabled NuGet Package Restore a folder called ".nuget" gets added to the solution. Under this will be a file called "NuGet.targets" that has an ItemGroup whose Condition is " '$(PackageSources)' == '' " like the one you'll see in the attached image.

If the ItemGroup is empty (or completely commented out, as in the illustration) then the solution will use a specific file that should be the same as the sources listed under TOOLS >> OPTIONS. But if you uncomment or add PackageSource items to that ItemGroup the solution will search the package sources listed and ONLY the ones listed.

Contents of the Nuget.targets file

2
votes

In my Package Manager Console i could not see any sources

Going to: Tools -> Options -> Nuget Package Manager -> Package Sources

I found the sources. Unchecking them, and them checking them back made the re-appear in my Package Manager Console

2
votes

I had to provide the comman along with the full url as Install-Package MySql.Data.Entity -Version 6.9.8 -Source http://www.nuget.org/api/v2

1
votes

In my case the cause was that the package had an agreement. Through the UI - "Manage NuGet Packages" dialog you have the option to accept and continue.

The Package Manager Console in VS 2013 seems to have an issue with this. As others have said restarting VS 2013 might resolve it for the console.

1
votes

This is worked for me in VS 2015 prof: Tools -> Options -> Nuget Package Manager -> Package Sources

  1. Press Add button
  2. Edit in Name label: nuget.org
  3. Edit in Source label: https://www.nuget.org/api/v2/
  4. Press OK

Hope it helps ;)

0
votes

I had the same issue with the same message. But the reason of my problem was lost connection to TFS. My TFS server was hosted in other network and I used VPN for access to it. When I tried to install the package without established connection to TFS (VPN was turned off) I got the same problem.

Be aware of this TFS behavior.

0
votes

Happens because you work offline mode, when you reconnect the network will need to log off and log back. Package manager will smoothly re-initialize.

0
votes

I have faced this issue VS2013 and wasted 3 hours of time.

Not Sure what was the cause of the issue. But none of the above solutions worked for me.

Re-Installtion of Nuget Package Manager console worked for me.

Tools - > Extensions and Updates -> Under All Look for Nuget Package Manager for Visual Studio and hit uninstall.

Go to https://marketplace.visualstudio.com/items?itemName=NuGetTeam.NuGetPackageManagerforVisualStudio2013 and download the extension.

0
votes

enter image description hereMay be yours office/home firewall blocking nuget.org so try to connect different internet network for example from your mobile or wifi .I was able to solve through this method.

0
votes

None of these solutions worked for me with VS2013. Yes I know it's the year 2020. In the end I downloaded the nuget package to a local folder, added the folder to the nuget settings, and then voila!, was able to install the package.