ChatGPT解决这个技术问题 Extra ChatGPT

Source unreachable when using the NuGet Package Manager Console

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?

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.
I've got the same problem. Always works in the Manage Packages dialog -- never works in Package Manager Console.
Restarting Visual Studio fixed this for me ಠ_ಠ

K
Kyle Dev-ious

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.


I restarted my PC and Visual Studio. but.. adding -Source nuget.org indeed did the trick for my new .vbproj instance inside my existing multi-project .sln
Where to add this argument and how? Can you please give more info.
It also worked for me (right now, actually!). I was trying to install an older version of jQuery, but it kept raising the error: "The source at nuget.org [nuget.org/api/v2/]". I don't know how to fix it though.
thank you, i did this way: Install-Package jQuery.UI.Combined -Source nuget.org
Do you have any idea how this works? I am just curious as this doesn't make any sense to me even if it works. So error says The source at nuget.org [nuget.org/api/v2/] is unreachable and then I specify same source -Source nuget.org and it works?
Z
Zarepheth

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".


This is a very good point. NuGet might be sensitive to certificate validation.
C
Community

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

https://i.stack.imgur.com/K6aBR.png

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


O
Omnidisciplinarianist

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.

https://i.stack.imgur.com/1gtOm.png


Package sources defined in the NuGet.targets file only affect those used during build when a package is being restored. Package sources in the NuGet.config file in the .nuget directory will affect the package sources available to a project in Visual Studio.
I do have package restore enabled for this solution. The ItemGroup is configured just as in your screenshot which I assume is the default setting so I do no think this is the issue. However, package restore have been enabled a significantly long time ago and the target file changed since then. I have tried updating those files to the latest version by deleting them and reenabling package restore and it looks like it solved the problem.
Or not. It worked at first, but after restoring the packages for the solution and restarting visual studio, the issue came back.
A few clarifying questions: 1) Do you have the proper versions referenced in packages.config? 2) Have you confirmed that the version you're looking for still exists on the NuGet server? 3) Have you cleaned the solution and then rebuilt it after having completed 1) and 2)?
If it's any consolation - I get this issue but only on my work PC and it happens with most projects. The odd thing is that it's intermittent which drives me mad!
r
roNog

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


g
gavinfonseca

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


B
Byron

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.


p
praguan

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

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

Hope it helps ;)


For VS 2015 you should be using v3 of their list... not v2! Taken from their homepage NuGet feed v3 (VS 2015 / NuGet v3.x): api.nuget.org/v3/index.json NuGet feed v2 (VS 2013 and earlier / NuGet 2.x): nuget.org/api/v2
R
RredCat

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.


R
Rakesh Pahuja

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.


S
Syed Abbas

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.


u
user1687805

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.


R
RonnieScotland

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.