新聞中心
本篇內(nèi)容主要講解“nuget是怎么還原包的”,感興趣的朋友不妨來看看。本文介紹的方法操作簡單快捷,實用性強。下面就讓小編來帶大家學習“nuget是怎么還原包的”吧!
襄垣網(wǎng)站建設(shè)公司成都創(chuàng)新互聯(lián),襄垣網(wǎng)站設(shè)計制作,有大型網(wǎng)站制作公司豐富經(jīng)驗。已為襄垣上千提供企業(yè)網(wǎng)站建設(shè)服務(wù)。企業(yè)網(wǎng)站搭建\外貿(mào)營銷網(wǎng)站建設(shè)要多少錢,請找那個售后服務(wù)好的襄垣做網(wǎng)站的公司定做!
nuget 是如何還原包的
Intro
一直以來從來都只是簡單的用 nuget 包,最近想折騰一個東西,需要自己搞一個 nuget 包的解析,用戶指定 nuget 包的名稱和版本,然后去解析對應(yīng)的 nuget 包并添加引用到項目, 于是就想搞明白 nuget 包是怎么還原的,對于本地已經(jīng)下載了的 nuget 包又是怎么找的
Nuget 包的引用
對于 dotnetcore 項目(這里不算之前那種 project.json 的項目,只討論 *.csproj
這種項目),都是使用新的項目格式,PackageReference
模式
示例:
對于 dotnet framework 項目,如果使用 PackageReference
包格式和上面一樣,如果是傳統(tǒng)的 packages.config
包形式,會有一個 packages.config
的文件包含引用的 nuget 包,文件內(nèi)容示例:
本文主要說明 dotnetcore 這種 PackageReference
這種形式
nuget 包的還原
nuget 包在第一次從 nuget.org 或自己的包源上下載之后會存放在本地的一個文件夾中,下次再需要相同版本的包還原時就會直接從本地的包中獲取,而這個保存的文件夾是 nuget 配置的一部分,在網(wǎng)上可以找到一些修改 nuget 默認保存 packages 文件夾的位置,但是這些文章都很類似,都只是給出了一個解決方案然而并沒有說明為什么要這么做,這么做的根據(jù)是什么并沒有說明,其實這種解決方案是添加了一個默認的 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
配置文件來修改默認的保存文件,除此之外,還可以通過環(huán)境變量的方式,配置 NUGET_PACKAGES
來修改默認 nuget 包保存的位置
默認配置文件
nuget 的默認配置文件,官方文檔:https://docs.microsoft.com/en-us/nuget/reference/cli-reference/cli-ref-config#options
Windows 上默認配置文件的位置是 %AppData%\NuGet\NuGet.Config
這也是現(xiàn)在網(wǎng)上那些修改默認保存 nuget 包位置的大多用的解決方案, Linux/Mac 上大多是 ~/.config/NuGet/NuGet.Config
,有的可能是 ~/.nuget/NuGet/NuGet.Config
(和系統(tǒng)版本有關(guān)系)
Windows 上默認是沒有這個配置文件的,添加這個默認配置文件之后就是全局作用的
創(chuàng)建 %AppData%\NuGet\NuGet.Config
這個默認的配置文件,然后在這個配置文件里配置 globalPackagesFolder
來修改默認的 nuget 包保存路徑
示例:
到此,相信大家對“nuget是怎么還原包的”有了更深的了解,不妨來實際操作一番吧!這里是創(chuàng)新互聯(lián)網(wǎng)站,更多相關(guān)內(nèi)容可以進入相關(guān)頻道進行查詢,關(guān)注我們,繼續(xù)學習!
分享名稱:nuget是怎么還原包的
本文路徑:http://www.ef60e0e.cn/article/poehsj.html