ASP.NET Core 中的 NuGet 包位置在哪里?
Posted
技术标签:
【中文标题】ASP.NET Core 中的 NuGet 包位置在哪里?【英文标题】:Where's the NuGet package location in ASP.NET Core? 【发布时间】:2017-04-15 14:45:56 【问题描述】:我是 ASP.NET Core 的新手,正在尝试找出 NuGet 包在我的本地计算机上的存储位置。
我已经安装了以下 NuGet 包:
nuget dapper
nuget MicroOrm.Pocos.SqlGenerator
我想用我自己编译的版本替换其中一个 DLL,但我不知道把它放在哪里。 Dependencies
文件夹没有显示任何内容。
【问题讨论】:
【参考方案1】:对于 project.json,nuget 目录位于用户配置文件文件夹中 (%UserProfile%\.nuget\packages
)
更新
来自msdn
global-packages 文件夹是 NuGet 安装任何下载包的位置。每个包都完全展开到与包标识符和版本号匹配的子文件夹中。使用 PackageReference 格式的项目始终直接使用此文件夹中的包。使用 packages.config 时,包会安装到 global-packages 文件夹,然后复制到项目的 packages 文件夹中。
使用 PackageReference 时,使用来自 nuget.config 的 globalPackagesFolder
配置值。默认值为:
Windows:%userprofile%\.nuget\packages
Mac/Linux:~/.nuget/packages
使用 packages.config 时,使用来自 nuget.config 的 repositoryPath
配置值。默认值为:
$(Solutiondir)/packages
两个位置(globalPackagesFolder
和 repositoryPath
)都可以被覆盖
使用NUGET_PACKAGES
环境变量。环境变量优先于配置设置。
【讨论】:
如何在 MSBuild 中获取此位置?之前你会做“..\..\packages\” 好吧,你可以做这样的事情`$(UserProfile)\.nuget\packages` 我找不到 project.json 文件@JuanM.Elosegui @ErçinDedeoğlu 早期版本的 .NET Core 使用 project.json 文件。后来被放弃了。见docs.microsoft.com/en-us/dotnet/core/tools/…【参考方案2】:根据this 文档,您可以运行此命令,该命令将列出您机器上的所有 Nuget 文件夹:
dotnet nuget locals all -l
结果将是这样的(文件夹名称本身是解释性的):
C:\Users\...>dotnet nuget locals all -l
info : http-cache: C:\Users\...\AppData\Local\NuGet\v3-cache
info : global-packages: C:\Users\...\.nuget\packages\
info : temp: C:\Users\...\AppData\Local\Temp\NuGetScratch
info : plugins-cache: C:\Users\...\AppData\Local\NuGet\plugins-cache
【讨论】:
以上是关于ASP.NET Core 中的 NuGet 包位置在哪里?的主要内容,如果未能解决你的问题,请参考以下文章
使用NuGet将我们的ASP.NET Core类库打包并将程序包(类库)发布到NuGet平台上进行管理
使用NuGet将我们的ASP.NET Core类库打包并将程序包(类库)发布到NuGet平台上进行管理
对 ASP.NET Core 中的 Google OAuth 包感到困惑