内容简介:本文介绍如何添加自定义的 NuGet 源。包括全局所有项目生效的 NuGet 源和仅在某些特定项目中生效的 NuGet 源。你可以前往在使用命令行之前,你需要先在
本文介绍如何添加自定义的 NuGet 源。包括全局所有项目生效的 NuGet 源和仅在某些特定项目中生效的 NuGet 源。
你可以前往 我收集的各种公有 NuGet 源 以发现更多的 NuGet 源,然后使用本文的方法添加到你自己的配置中。
使用命令行添加
在使用命令行之前,你需要先在 https://www.nuget.org/downloads 下载最新的 nuget.exe 然后加入到环境变量中。
现在,我们使用命令行来添加一个包含各种日构建版本的 NuGet 源 MyGet:
nuget sources add -Name "MyGet" -Source "https://dotnet.myget.org/F/dotnet-core/api/v3/index.json"
如果你添加的只是一个镜像源(比如华为云 huaweicloud),那么其功能和官方源是重合的,可以禁用掉官方源:
nuget sources Disable -Name "nuget.org" nuget sources add -Name "huaweicloud" -Source "https://mirrors.huaweicloud.com/repository/nuget/v3/index.json"
在 Visual Studio 中添加
在 Visual Studio 中打开 工具
-> 选项
-> NuGet 包管理器
-> 包源
:
然后在界面上添加、删除、启用和禁用 NuGet 源。
值得注意的是:
- 在 Visual Studio 中是不能禁用掉官方源
nuget.org
的,无论你如何取消勾选,实际都不会生效。- 如果要取消,你需要用命令行或者手工编辑配置文件。
- 你可以添加一个本地路径作为本地 NuGet 源,而那个路径只要存在 *.nupkg 文件就够了。
- 对于 .NET Core 项目,勾选编译后生成 NuGet 包则会在输出路径生成这样的文件,于是你可以本地调试。
直接修改配置文件
NuGet 的全局配置文件在 %AppData\NuGet\NuGet.config
,例如:
C:\Users\lvyi\AppData\Roaming\NuGet\NuGet.Config
直接修改这个文件的效果跟使用命令行和 Visual Studio 的界面配置是等价的。
<configuration> <packageSources> <add key="huaweicloud" value="https://repo.huaweicloud.com/repository/nuget/v3/index.json" /> <add key="nuget.org" value="https://api.nuget.org/v3/index.json" protocolVersion="3" /> <add key="Walterlv.Debug" value="C:\Users\lvyi\Debug\Walterlv.NuGet" /> <add key="Microsoft Visual Studio Offline Packages" value="C:\Program Files (x86)\Microsoft SDKs\NuGetPackages\" /> <add key="MyGet" value="https://dotnet.myget.org/F/dotnet-core/api/v3/index.json" /> </packageSources> <disabledPackageSources> <add key="Microsoft Visual Studio Offline Packages" value="true" /> <add key="Walterlv.Debug" value="true" /> <add key="nuget.org" value="true" /> </disabledPackageSources> </configuration>
为单独的项目添加自定义的 NuGet 源
NuGet.config 文件是有优先级的。nuget.exe 会先把全局配置加载进来;然后从当前目录中寻找 NuGet.config 文件,如果没找到就去上一级目录找,一直找到驱动器的根目录;找到后添加到已经加载好的全局配置中成为一个合并的配置。
所以我们只需要在项目的根目录放一个 NuGet.config 文件并填写相比于全局 NuGet.config 新增的配置即可为单独的项目添加 NuGet 配置。
<?xml version="1.0" encoding="utf-8"?> <configuration> <packageSources> <!-- 下一行的 clear 如果取消了注释,那么就会清除掉全局的 NuGet 源,而注释掉可以继承全局 NuGet 源,只是额外添加。 --> <!-- <clear /> --> <add key="MyGet" value="https://dotnet.myget.org/F/dotnet-core/api/v3/index.json" /> </packageSources> </configuration>
本文会经常更新,请阅读原文: https://walterlv.com/post/add-custom-nuget-source.html ,以避免陈旧错误知识的误导,同时有更好的阅读体验。
本作品采用 知识共享署名-非商业性使用-相同方式共享 4.0 国际许可协议 进行许可。欢迎转载、使用、重新发布,但务必保留文章署名 吕毅 (包含链接:https://walterlv.com ),不得用于商业目的,基于本文修改后的作品务必以相同的许可发布。如有任何疑问,请 与我联系 (walter.lv@qq.com) 。
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持 码农网
猜你喜欢:- Laravel 增加自定义全局函数
- 小程序自定义单页面、全局导航栏
- gradle使用技巧(def定义变量 rootProject.ext 添加全局变量)
- 全局变量,静态全局变量,局部变量,静态局部变量
- Thrift RPC 系列教程(2)——全局变量&全局常量
- 全局角度出发讨论敏捷
本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们。
Rationality for Mortals
Gerd Gigerenzer / Oxford University Press, USA / 2008-05-02 / USD 65.00
Gerd Gigerenzer's influential work examines the rationality of individuals not from the perspective of logic or probability, but from the point of view of adaptation to the real world of human behavio......一起来看看 《Rationality for Mortals》 这本书的介绍吧!