Chris Straw
SHARE:

Eliminate multiple Nuget sources password prompt

When you have multiple Nuget sources and when you open a Visual Studio project, you might get prompted for which account to login to Nuget for package restore.

I find this annoying, so I configure Nuget to store the hashed token in the global Nuget.config.

This command adds the package source credential elements to the nuget.config file:

  • nuget.exe sources update -Name “{package-feed-1}” -UserName “{email-address-1}” -Password “{devops-token-1}”
  • nuget.exe sources update -Name “{package-feed-2}” -UserName “{email-address-2}” -Password “{devops-token-2}”

 


<?xml version="1.0" encoding="utf-8"?>
<configuration>
  <packageSources>
    <add key="nuget.org" value="https://api.nuget.org/v3/index.json" protocolVersion="3" />
    <add key="Microsoft Visual Studio Offline Packages" value="C:\Program Files (x86)\Microsoft SDKs\NuGetPackages\" />
    <add key="{package-source-1}" value="https://{devops-url-1}/_packaging/{package-source-1}/nuget/v3/index.json" />
    <add key="{package-source-2}" value="https://{devops-url-2}/_packaging/{package-source-2}/nuget/v3/index.json" />
  </packageSources>
  <packageRestore>
    <add key="enabled" value="True" />
    <add key="automatic" value="True" />
  </packageRestore>
  <bindingRedirects>
    <add key="skip" value="False" />
  </bindingRedirects>
  <packageManagement>
    <add key="format" value="0" />
    <add key="disabled" value="False" />
  </packageManagement>
  <packageSourceCredentials>
    <{package-source-1}>
        <add key="Username" value="{email-address-1}" />
        <add key="Password" value="{hashed-devops-token-1}" />
      </{package-source-1}>
    <{package-source-2}>
      <add key="Username" value="{email-address-2}" />
      <add key="Password" value="{hashed-devops-token-2}" />
    </{package-source-2}>
  </packageSourceCredentials>
</configuration>