首页 > 解决方案 > 还原操作如何选择 NuGet 源?

问题描述

在 Visual Studio 中,我定义了 2 个包源:默认 nuget.org 和自定义源。还原包时,Visual Studio 如何知道选择哪一个来还原各种依赖项?

我找到了这篇文章(What NuGet sources are used for restore?),但是,它并没有真正给出最终答案。

标签: .netvisual-studionugetnuget-package-restore

解决方案


还原操作如何选择 NuGet 源?

实际上,如果您之前在代理中安装过软件包, Restore 机制将首先从本地缓存()中恢复软件包,然后它会检查-> --> -->下的 nuget 包网络源并从以下位置下载丢失的 nuget 包他们。C:\Users\Administrator\.nuget\packagesToolsOptionsNuget Package ManagerPackage Sources

在这种情况下,NuGet会忽略包源的顺序,并使用首先来自哪个源的包来响应请求。请参阅此链接。如果您当前的两个包源中都有这个包,我认为您选择下载的 URL 取决于 url 请求的速度。

要更直接地了解您当前的项目响应,请尝试以下操作:

--------如果您的项目基于Net Framework

1)在此链接上下载 nuget.exe cli ,然后复制nuget.exe系统环境变量PATH的本地路径。在我这边,它是C:\tools\nuget.exe,我将路径复制C:\toolsPATH.

注意:完成后,您应该重新启动 VS 实例。

2)使用nuget restore命令行来恢复项目而不是恢复 Nuget Packages UI 按钮。

Tools--> Nuget Package Manager-->Package Manager Console然后

输入:nuget restore -v detailed然后你可以找到这个:

在此处输入图像描述

并且可以直接找到还原包源。

--------如果您的项目基于新的sdk:

您可以键入:

dotnet restore -v detailed


推荐阅读