Yan Germanovich
Yan Germanovich

Reputation: 193

Nuget Package Source is not prompting for credentials

I've added a NuGet Source. It needs credentials but when I'm installing a package using install-package packageName nothing happens. I tried the same steps on other PC and it works. I'm using Visual Studio 2017 Professional. Could someone please help me with the issue? My NuGet sources

Upvotes: 17

Views: 30018

Answers (6)

Daniel
Daniel

Reputation: 813

If neither the Credential Manager solution, the Package Manager solution or the NuGet Update command solution work for you, try deleting everything under

\HKEY_CURRENT_USER\SOFTWARE\Microsoft\VSCommon\14.0\ClientServices\TokenStorage\VisualStudio\VssApp

That should get it to ask for credentials again.

Upvotes: 0

SymboLinker
SymboLinker

Reputation: 1179

If Visual Studio does not prompt for credentials but the logging Output shows that you did not authenticate correctly, then go to

Control Panel\User Accounts\Credential Manager

and click "Windows Credentials". You can remove stored credentials for nuget/github there. If they become invalid - for example because you regenerated a token - Visual Studio does not prompt to overwrite the invalid credentials, but after removing the credentials and restarting Visual Studio you do get the prompt.

Image of Windows Credential Manager with nuget and github entries

I've documented more troubleshooting related to the NuGet.Config in this issue: https://github.com/verybadcat/CSharpMath/issues/168

Source for solving this specific problem:

Upvotes: 24

Sachin Tripathi
Sachin Tripathi

Reputation: 141

Credentials popup might be not coming because you have earlier entered some other credentials or some other credentials is stored against the NuGet Package. You can goto Credentials Manager in your PC and check for all NuGet Credentials. If you found any, Please remove them from there. And, then try to restart Visual Studio and enter the package source and Url again. This time you will get the popup to add credentials for sure.

Upvotes: 1

Jean-Simon Collard
Jean-Simon Collard

Reputation: 661

Remove the source from the Nuget Package Manager and add it with a new name.

Upvotes: 1

pawciu
pawciu

Reputation: 935

This is riddiculous that it does not prompt for credentials.

To make it work I had to do the following:

  1. Download nuget.exe from Nuget download site

  2. Remove my old package source

    Go to NuGet Package Manager for Solution->Settings

enter image description here

Delete your Package Source

enter image description here

  1. Run Command Line

    Go to nuget.exe

enter image description here

  1. Add package source with plain password in the command

    nuget.exe sources Add -Name "YourPackageName" -Source "YourPackageAddress" -Username YourUserName -password YourPassword -StorePasswordInClearText

enter image description here

  1. Done... phew

Upvotes: 23

Ziv Weissman
Ziv Weissman

Reputation: 4516

After many attempts to set password, reset password or whatever the only thing that helped me was adding this section to the NuGet.Config (located on the .nuget folder for the main solution)

NuGet.Config

<?xml version="1.0" encoding="utf-8"?>
<configuration>
  <solution>
    <add key="disableSourceControlIntegration" value="false" />
  </solution>
  <packageSourceCredentials>
    <MySourceName> <!-- Name of nuget package source -->
      <add key="Username" value="..." />
      <add key="ClearTextPassword" value="..." /> <!-- This is for normal password-->
      <!--if encrypted use key="Password"-->
    </MySourceName>
  </packageSourceCredentials>
</configuration>

One important notice - for any change to this file to take effect I had to restart VS

Upvotes: 12

Related Questions