I added a NuGet 'Package source' to Visual Studio since we have an internal server at work.
Visual Studio now always defaults to my internal server and cannot find most of our NuGet packages until I switch the package source to All
or nuget.org
.
This is a minor inconvenience, but for the past few weeks, I have been doing many more clicks every time I need to work with the NuGet package manager. Can anyone tell me how to default to All
instead of having it always default to Internal nuget
?
The default is %userprofile%\. nuget\packages (Windows) or ~/. nuget/packages (Mac/Linux). A relative path can be used in project-specific nuget.
The NuGet Visual Studio extension, the NuGet Package Manager Console, and the NuGet command-line tool all make use of the NuGet configuration file, which by default is located under %AppData%\NuGet\NuGet.
NuGet's client, nuget.exe is a free and open-source, command-line app that can both create and consume packages.
Can anyone tell me how to default to All instead of having it always default to Internal nuget?
To my knowledge, the default package source of NuGet Package Manager depends on the order of package source and the property of activePackageSource
in nuget.config
.
The order of package source:
When you open NuGet Package Manager setting, Tools->Options->NuGet Packager Manager->Package Source, you will notice that there are up and down arrows for package source:
NuGet Package Manager will give priority for default NuGet package source in the top of the package source list. For example, if I set NuGet package source LocalServer
at the top of that list, when I create a new project, the default NuGet source will be changed to LocalServer
:
However, this priority of default NuGet source can easily be broken by the property of activePackageSource in nuget.config.
Open the nuget.config file from %appdata%\NuGet\NuGet.config, add the following code:
<activePackageSource>
<add key="LocalServer2" value="D:\LocalServerTest" />
</activePackageSource>
Restart Visual Studio, then create a new project, you will find the default NuGet source change to the LocalServer2
:
So, if you want to default nuget.org
instead of having it always default to Internal nuget
, you can set the NuGet source nuget.org
at top of NuGet source list or set the nuget.org
as activePackageSource
in the nuget.config:
<activePackageSource>
<add key="nuget.org" value="https://api.nuget.org/v3/index.json" protocolVersion="3" />
</activePackageSource>
Update for comment:
Is there no way to default to All? Maybe you can suggest defaulting to All (looks like you work for MS)
if you want to set the default NuGet source to All
, you can use the setting below in nuget.config
:
<activePackageSource>
<add key="All" value="(Aggregate source)" />
</activePackageSource>
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With