nuget是怎么还原包的
本篇内容主要讲解“nuget是怎么还原包的”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“nuget是怎么还原包的”吧!
襄垣网站建设公司成都创新互联,襄垣网站设计制作,有大型网站制作公司丰富经验。已为襄垣上千提供企业网站建设服务。企业网站搭建\外贸营销网站建设要多少钱,请找那个售后服务好的襄垣做网站的公司定做!
nuget 是如何还原包的
Intro
一直以来从来都只是简单的用 nuget 包,最近想折腾一个东西,需要自己搞一个 nuget 包的解析,用户指定 nuget 包的名称和版本,然后去解析对应的 nuget 包并添加引用到项目, 于是就想搞明白 nuget 包是怎么还原的,对于本地已经下载了的 nuget 包又是怎么找的
Nuget 包的引用
对于 dotnetcore 项目(这里不算之前那种 project.json 的项目,只讨论 *.csproj
这种项目),都是使用新的项目格式,PackageReference
模式
示例:
对于 dotnet framework 项目,如果使用 PackageReference
包格式和上面一样,如果是传统的 packages.config
包形式,会有一个 packages.config
的文件包含引用的 nuget 包,文件内容示例:
本文主要说明 dotnetcore 这种 PackageReference
这种形式
nuget 包的还原
nuget 包在第一次从 nuget.org 或自己的包源上下载之后会存放在本地的一个文件夹中,下次再需要相同版本的包还原时就会直接从本地的包中获取,而这个保存的文件夹是 nuget 配置的一部分,在网上可以找到一些修改 nuget 默认保存 packages 文件夹的位置,但是这些文章都很类似,都只是给出了一个解决方案然而并没有说明为什么要这么做,这么做的根据是什么并没有说明,其实这种解决方案是添加了一个默认的 nuget 配置文件,修改了 nuget 包保存的位置
nuget 配置
默认配置
nuget 会有一些默认的配置,可以参考官方文档:https://docs.microsoft.com/en-us/nuget/reference/nuget-config-file#config-section
nuget 配置中有一个 globalPackagesFolder
的配置,是用来指定默认的 nuget 包保存的位置,在 Windows 上默认的保存位置是 %userprofile%\.nuget\packages
,在 Linux/Mac 上默认的保存位置是 ~/.nuget/packages
,可以使用 nuget.config
或 NuGet.Config
配置文件来修改默认的保存文件,除此之外,还可以通过环境变量的方式,配置 NUGET_PACKAGES
来修改默认 nuget 包保存的位置
默认配置文件
nuget 的默认配置文件,官方文档:https://docs.microsoft.com/en-us/nuget/reference/cli-reference/cli-ref-config#options
Windows 上默认配置文件的位置是 %AppData%\NuGet\NuGet.Config
这也是现在网上那些修改默认保存 nuget 包位置的大多用的解决方案, Linux/Mac 上大多是 ~/.config/NuGet/NuGet.Config
,有的可能是 ~/.nuget/NuGet/NuGet.Config
(和系统版本有关系)
Windows 上默认是没有这个配置文件的,添加这个默认配置文件之后就是全局作用的
创建 %AppData%\NuGet\NuGet.Config
这个默认的配置文件,然后在这个配置文件里配置 globalPackagesFolder
来修改默认的 nuget 包保存路径
示例:
到此,相信大家对“nuget是怎么还原包的”有了更深的了解,不妨来实际操作一番吧!这里是创新互联网站,更多相关内容可以进入相关频道进行查询,关注我们,继续学习!
文章名称:nuget是怎么还原包的
分享链接:http://ybzwz.com/article/poehsj.html