Visual studio NuGet的默认包源默认为新添加的源,而不是全部或NuGet.org

Visual studio NuGet的默认包源默认为新添加的源,而不是全部或NuGet.org,visual-studio,nuget,visual-studio-2017,Visual Studio,Nuget,Visual Studio 2017,我向VisualStudio添加了一个NuGet“包源”,因为我们有一个内部服务器在工作 Visual Studio现在始终默认为我的内部服务器,在我将包源代码切换到All或NuGet.org之前,无法找到我们的大多数NuGet包 这是一个小小的不便,但在过去的几周里,每当我需要使用NuGet软件包管理器时,我都会进行更多的点击。有谁能告诉我如何默认为All,而不是始终默认为internalnumget 有谁能告诉我如何默认为All而不是始终默认为内部nuget 据我所知,NuGet pack

我向VisualStudio添加了一个NuGet“包源”,因为我们有一个内部服务器在工作

Visual Studio现在始终默认为我的内部服务器,在我将包源代码切换到
All
NuGet.org
之前,无法找到我们的大多数NuGet包

这是一个小小的不便,但在过去的几周里,每当我需要使用NuGet软件包管理器时,我都会进行更多的点击。有谁能告诉我如何默认为
All
,而不是始终默认为
internalnumget

有谁能告诉我如何默认为All而不是始终默认为内部nuget

据我所知,NuGet package Manager的默认包源取决于包源的顺序以及
NuGet.config
activePackageSource
的属性

包源的顺序:

当您打开NuGet Package Manager设置,工具->选项->NuGet Packager Manager->包源时,您会注意到包源有上下箭头:

NuGet软件包管理器将在软件包源列表的顶部为默认NuGet软件包源提供优先级。例如,如果我在该列表顶部设置NuGet package source
LocalServer
,当我创建新项目时,默认的NuGet source将更改为
LocalServer

但是,默认NuGet源的此优先级很容易被NuGet.config中的activePackageSource属性打破

从%appdata%\nuget\nuget.config打开nuget.config文件,添加以下代码:

So,如果您希望将
nuget.org
设置为默认值,而不是始终将其默认为
Internal nuget
,则可以在nuget源代码列表顶部设置nuget source
nuget.org
,或者在nuget.config中将
nuget.org
设置为
activePackageSource


更新评论:

难道没有办法默认所有人吗?也许你可以建议默认为All(看起来你在微软工作)

如果要将默认NuGet源设置为
All
,可以使用
NuGet.config
中的以下设置:



感谢您的回复。我的命令是正确的,但是@Mario,如果您想将默认的nuget source设置为
All
,您可以在
activePackageSource
中使用此命令。我会在答案中更新它。谢谢您的提醒。@LeoLiu MSFT看起来“全部”选项已经被弃用了