首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >.Net Core2.0 NuGet文件的位置是什么

.Net Core2.0 NuGet文件的位置是什么
EN

Stack Overflow用户
提问于 2018-06-09 05:59:28
回答 1查看 2.7K关注 0票数 5

在查找存储NuGet包的位置时,我们注意到有些dlls存储在C:\Users\Username\.nuget\packages中,而另一些则存储在C:\Program Files\dotnet\sdk\NuGetFallbackFolder中。

例如,在我的dev pc (C:\Users\Username\.nuget\packages包含2.0.7和2.1.0的两个目录中都存在(C:\Users\Username\.nuget\packages包文件夹,而C:\Program Files\dotnet\sdk\NuGetFallbackFolder包含2.0.0、2.0.3、2.0.5、2.0.6和2.0.8)。

根据"C# 7和.NET Core2.0高性能“一书,。默认路径应该是C:\Users\Username\.nuget\packages

为什么文件被分隔到不同的文件夹中?

注意:我们在大多数项目中引用的是microsoft.aspnetcore.all版本2.0.8。我们在项目中引用的大多数其他包在两个文件夹之间交替。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2019-06-26 13:35:58

.NET核心引入了Nuget缓存的概念(有点类似于GAC)。所有软件包仅下载一次到特定文件夹,并用于所有项目。它之所以需要,是因为.NET Core2.x-3.x现在由数百个包组成。因此,现在的框架非常细粒度,您可以使用所需的内容。这就创建了一个现在类型的问题-- Nuget Hell (习惯了DLL )。为了简化开发人员的生活,MS引入了“聚合”包,例如microsoft.aspnetcore.all (它不包含任何内容,只是引用所有内容,但实际上,如果您做了自我包含的构建,它将只包含您使用的东西,而不是所有all )。

正如您现在提到的,您可以在您的用户帐户下找到已安装的Nuget包,例如: C:\Users\<您的userName >.nuget\packages。

根据文档,您可以运行以下命令,该命令将列出机器上的所有Nuget文件夹:

代码语言:javascript
复制
dotnet nuget locals all -l

结果将是这样的(文件夹名self是解释性的):

代码语言:javascript
复制
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
票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/50771365

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档