我在Visual Studio中添加了一个nuget'Package source',因为我们有一个内部服务器正在运行。
Visual Studio现在始终默认为我的内部服务器,在将包源切换为All
或nuget.org
这是一个小小的不便,但在过去的几周里,每次我需要使用nuget包管理器时,我都会进行更多点击。任何人都可以告诉我如何默认All
而不是默认为Internal nuget
吗?
答案 0 :(得分:6)
任何人都可以告诉我如何默认全部而不是默认为内部nuget?
据我所知,NuGet Package Manager的默认包源取决于包源的顺序以及activePackageSource
中nuget.config
的属性。
包来源的顺序:
当您打开NuGet包管理器设置,工具 - >选项 - > NuGet包装管理器 - >包源时,您会注意到包源有向上和向下箭头:
NuGet Package Manager将优先考虑包源列表顶部的默认nuget包源。例如,如果我在该列表的顶部设置nuget包源LocalServer
,则在创建新项目时,默认的nuget源将更改为LocalServer
:
然而,默认nuget源的优先级可以通过nuget.config中的activePackageSource属性轻松打破。
从%appdata%\ NuGet \ NuGet.config打开nuget.config文件,添加以下代码:
<activePackageSource>
<add key="LocalServer2" value="D:\LocalServerTest" />
</activePackageSource>
重新启动Visual Studio ,然后创建一个新项目,您会发现默认的nuget源更改为LocalServer2
:
所以,如果你想默认nuget.org
而不是默认为Internal nuget
,你可以在nuget顶部设置nuget源nuget.org
源列表或将nuget.org
设置为nuget.config中的activePackageSource
:
<activePackageSource>
<add key="nuget.org" value="https://api.nuget.org/v3/index.json" protocolVersion="3" />
</activePackageSource>
评论更新:
有没有办法默认为全部?也许你可以建议默认为All(看起来你为MS工作)
如果您要将默认nuget来源设置为All
,则可以使用以下nuget.config
中的设置:
<activePackageSource>
<add key="All" value="(Aggregate source)" />
</activePackageSource>