.net - 还原操作如何选择 NuGet 源?
问题描述
在 Visual Studio 中,我定义了 2 个包源:默认 nuget.org 和自定义源。还原包时,Visual Studio 如何知道选择哪一个来还原各种依赖项?
我找到了这篇文章(What NuGet sources are used for restore?),但是,它并没有真正给出最终答案。
解决方案
还原操作如何选择 NuGet 源?
实际上,如果您之前在代理中安装过软件包, Restore 机制将首先从本地缓存()中恢复软件包,然后它会检查-> --> -->下的 nuget 包网络源并从以下位置下载丢失的 nuget 包他们。C:\Users\Administrator\.nuget\packages
Tools
Options
Nuget Package Manager
Package Sources
在这种情况下,NuGet会忽略包源的顺序,并使用首先来自哪个源的包来响应请求。请参阅此链接。如果您当前的两个包源中都有这个包,我认为您选择下载的 URL 取决于 url 请求的速度。
要更直接地了解您当前的项目响应,请尝试以下操作:
--------如果您的项目基于Net Framework:
1)在此链接上下载 nuget.exe cli ,然后复制nuget.exe
系统环境变量PATH的本地路径。在我这边,它是C:\tools\nuget.exe
,我将路径复制C:\tools
到PATH
.
注意:完成后,您应该重新启动 VS 实例。
2)使用nuget restore
命令行来恢复项目而不是恢复 Nuget Packages UI 按钮。
Tools
--> Nuget Package Manager
-->Package Manager Console
然后
输入:nuget restore -v detailed
然后你可以找到这个:
并且可以直接找到还原包源。
--------如果您的项目基于新的sdk:
您可以键入:
dotnet restore -v detailed
推荐阅读
- python-3.x - 让用户有机会在同一程序实例中选择新选项
- python - Python TKinter:画布图像文件只包含一个黑色像素而不是 512x256 绿色像素,为什么?
- javascript - Graphql说未定义类型的验证错误
- apache-spark - 以前工作的火花作业现在只抛出“java.io.IOException:打开的文件太多”错误?
- c# - 为什么 System.Windows.Forms.Control 没有收到所有 WM_ 消息?
- google-apps-script - 有没有更快的方法来使用 Google Appscript 显示/隐藏多列?
- microsoft-graph-api - 用于列出频道消息和发布频道的 Microsoft Graph API 引发错误请求
- java - 从 Spring Java 中的其他类访问方法时出错
- winforms - 如何保留 BindingSource EndEdit() 还原更改?
- ajax - 表单ajax什么都不返回