欧博亚洲app下载:nuget 包是若何还原的
nuget 包是若何还原的
Intro
一直以来从来都只是简朴的用 nuget 包,最近想折腾一个器械,需要自己搞一个 nuget 包的剖析,用户指定 nuget 包的名称和版本,然后去剖析对应的 nuget 包并添加引用到项目,
于是就想搞明了 nuget 包是怎么还原的,对于内陆已经下载了的 nuget 包又是怎么找的
Nuget 包的引用
对于 dotnetcore 项目(这里不算之前那种 project.json 的项目,只讨论 *.csproj
这种项目),都是使用新的项目花样,PackageReference
模式
示例:
<PackageReference Include="WeihanLi.Common" Version="1.0.39" />
对于 dotnet framework 项目,若是使用 PackageReference
包花样和上面一样,若是是传统的 packages.config
包形式,会有一个 packages.config
的文件包罗引用的 nuget 包,文件内容示例:
<?xml version="1.0" encoding="utf-8"?> <packages> <package id="Newtonsoft.Json" version="9.0.1" targetFramework="net452" /> </packages>
本文主要说明 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%.nugetpackages
,在 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%NuGetNuGet.Config
这也是现在网上那些修改默认保留 nuget 包位置的解决方案,
Linux/Mac 上大多是 ~/.config/NuGet/NuGet.Config
,有的可能是 ~/.nuget/NuGet/NuGet.Config
(和系统版本有关系)
Windows 上默认是没有这个设置文件的,添加这个默认设置文件之后就是全局作用的
建立 %AppData%NuGetNuGet.Config
这个默认的设置文件,然后在这个设置文件里设置 globalPackagesFolder
来修改默认的 nuget 包保留路径
示例:
<?xml version="1.0" encoding="utf-8"?> <configuration> <packageSources> <add key="nuget.org" value="https://api.nuget.org/v3/index.json" /> </packageSources> <config> <add key="globalPackagesFolder" value="D:nugetpackages" /> </config> </configuration>
Reference
- https://docs.microsoft.com/en-us/nuget/reference/nuget-config-file#config-section
- https://docs.microsoft.com/en-us/nuget/reference/cli-reference/cli-ref-config
欢迎进入欧博手机版(Allbet Game):www.aLLbetgame.us,欧博官网是欧博集团的官方网站。欧博官网开放Allbet注册、Allbe代理、Allbet电脑客户端、Allbet手机版下载等业务。
本文系作者授权本站发表,未经许可,不得转载。

推荐文章
Recommend article-
电银付大盟主(dianyinzhifu.com):谷歌苹果相继自研芯片,迫使传统芯片厂改推客制化
科技/阅读:159 -
usdt无需实名买卖(caibao.it):紧锣密鼓开展!中国空间站焦点舱明年春天将发射 后续另有天舟二号、神州十二号
科技/阅读:99 -
电银付app安装教程(dianyinzhifu.com):嫦娥五号月球样品入住“新家” 科学研究正式启幕
科技/阅读:67 -
景德镇二手房信息:苹果经典软件推荐: 1. 安全软件:不需要任何软件 2. 浏览器:Safari/alook 3. 密码管理:1Password/iCloud钥匙 4. 任务管理:Things 3 / Omnifocus / 2Do 5. 音乐: Appl
科技/阅读:91 -
长治卫校贴吧:阿里抗“疫”:从“数字基建”到平台式模板
科技/阅读:185 -
红米note9pro和红米k30哪个好 区别对比评测选谁好
科技/阅读:180

热门文章
HOT NEWS