如何以编程方式获取 nuget 缓存文件夹位置

2024-02-28

我需要从 .NET 应用程序(不是 .NET Core 应用程序)获取 NuGet 存储其包的目录列表。

我知道默认情况下它位于C:\Users\[YourUsername]\.nuget\packages因此,一个选项是迭代所有用户,假设运行该进程的当前 Windows 用户拥有访问其他用户数据的权限。此外,如果用户更改了此默认目录,我就会陷入困境。

已提供答案here https://stackoverflow.com/a/41533938/27194 through

nuget locals packages-cache -list

但它不是 .NET 代码,根据答案,它似乎是一个过时的选项。


此外,我想了解 .NET Core NuGet 包位置的逻辑,因为我可以在 3 个位置看到一些 .NET Core 包:

  • C:\Program Files\dotnet\shared\Microsoft.NETCore.App(不包含AspNetCore包)
  • C:\Users\[UserName]\.nuget\packages(确实包含 AspNetCore 包)
  • C:\Program Files (x86)\Microsoft SDKs\NuGetPackages(确实包含 AspNetCore 包)

为了实现这一点,您需要使用相同的代码和库nuget.exe does:

  1. 安装nuget包NuGet.Configuration到你的项目
  2. Add using NuGet.Configuration在你的文件的顶部
  3. 使用以下代码(其中nuget.exe在引擎盖下使用自己):
var settings = Settings.LoadDefaultSettings(null);
Console.WriteLine(SettingsUtility.GetGlobalPackagesFolder(settings));

您还可以使用以下命令检查 nuget.exeILSpy了解它是如何工作的或使用 github 上的相关源代码NuGet/NuGet.Client https://github.com/NuGet/NuGet.Client

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何以编程方式获取 nuget 缓存文件夹位置 的相关文章

  • 如何在.NET中将Assembly类的对象保存到磁盘

    我已将其编码为磁盘上的 Base64 字符串 它需要 dll 表示 我可以将它加载到 Assembly 对象中 但找不到保存它的方法 谢谢 那么 1 如何将Assembly类的对象保存到磁盘 2 如何将base64编码的程序集保存到二进制d
  • Silverlight本地存储

    您可能知道 Silverlight 支持本地存储 我们正在考虑创建可在离线模式下工作的 Sl 应用程序 该应用程序可能需要在客户端缓存相当多的数据 显而易见的解决方案 由于性能问题 使用具有某种基于 XMl 结构的本地存储将无法像我们的 P
  • COM 互操作注册

    我有一个正在暴露的 NET 程序集COM http en wikipedia org wiki Component Object Model 该程序集有两个公共接口和一个公共类 当我构建程序集时 我收到此警告 AssemblyName dl
  • 将 .NET P/Invoke 代码组织为 Win32 API 的最佳实践

    我正在 NET 中重构一个大型且复杂的代码库 该代码库大量使用 P Invoke to Win32 API 该项目的结构不是最好的 我发现 DllImport 语句遍布各处 经常为同一函数重复 并且还以多种方式声明 导入指令和方法有时声明为
  • 如何正确复制/克隆结构?我应该使用一个类吗?

    假设我有那个 Structure myStruct Public myPoint As Point Public myBool As Boolean End Structure 如何复制 克隆该结构 我现在解决了这个问题 我使用的代码示例
  • 从 C# 检测 powerpoint 形状上的事件

    是否有可能检测在 Powerpoint 形状 例如箭头 上发生的事件 到目前为止 我发现唯一的可能性是 selectitemchanged beforerightclick 和 beforedoubleclick 但无法找到检测其他内容的方
  • 在project.json .Net Core中本地管理nuget

    我不想依赖 nuget 服务来下载依赖项 我想在我的 Net Core 应用程序中本地下载并使用 nuget 包 是否可以 方法与之前相同 打开您的NuGet config https docs nuget org consume nuge
  • C# .Net Serial DataReceived 事件响应对于高速数据来说太慢

    我已经设置了一个 SerialDataReceivedEventHandler 并在 VS2008 Express 中使用基于表单的程序 我的串口设置如下 115200 8N1 Dtr 和 Rts 已启用 接收字节阈值 1 我有一个通过蓝牙
  • 为什么我的 COM 对象不显示组件服务中的方法?

    我正在尝试创建一个 COM 对象并将其注册到 COM 下 一切似乎都很顺利 但是当我查看组件服务并深入了解时 控制台根目录 组件服务 电脑 我的电脑 COM 应用程序 测试通讯 组件 TestCom Com MyCom 接口 MyCom 方
  • IL 的仿制药?

    是否可以在 IL 生成器中使用泛型 DynamicMethod method new DynamicMethod GetStuff typeof int new Type typeof object ILGenerator il metho
  • 如何让 LinqToSql 将“索引提示”传递给 sql server?

    由于我们不能相信我们的客户会更新 sql server 中的索引统计信息等 因此我们过去不得不使用索引提示 http www sql server performance com tips hints general p1 aspx 由于我
  • Sitecore - 隐藏功能区中的按钮

    我为特定内容项创建了上下文功能区 我有两个按钮 可以将项目 升级 或 降级 到某一类别 该部分只能有一个 是否可以根据某种隐藏代码中的内容状态隐藏其中一个按钮 我了解如何链接到 Click 事件 但我想知道是否有某种加载事件可供自定义功能区
  • 更换 I 过滤器

    我目前正在使用 IFilters 从各种文件 word excel tiff pdf 等 中提取文本 据我所知 IFilter 已在 Windows 8 中停止使用 是否有人对如何在不安装本机应用程序的情况下提取文本有任何建议 如果有什么用
  • 找不到 Microsoft.Office.Interop Visual Studio

    我正在开发一个使用 C 发送电子邮件的应用程序 该应用程序将能够使用邮件模板等 问题是我无法找到任何 Office Interop 引用 这意味着我无法使用 Outlook 我的计算机上安装了 Office 但我也尝试从此链接安装 PIAh
  • 在 .Net 托管的 IronPython 脚本中设置和获取变量

    我正在尝试使用 Net 控制台应用程序中托管的 IronPython 来构建验证规则引擎的原型 我已经将脚本精简到我认为的基础内容 var engine Python CreateEngine engine Execute from Sys
  • 设置 Form.KeyPreview = true 的缺点?

    我想知道 Form KeyPreview 属性实际上有什么用处 它为什么存在以及将其设置为 true 会带来什么 风险 我想它一定有some负面影响 否则它根本不应该存在 或者至少默认情况下是正确的 EDIT 我很清楚what确实如此 我问
  • 如何等待远程 .NET 调试器连接

    今天我遇到了一个问题 我需要远程调试程序 该程序是从另一个系统启动的 所以我真的没有机会在命令行上与它交互 不过我可以很容易地改变它的来源 我需要做的是让程序正常启动 然后等待我用调试器附加到它 我想不出一个让我快乐的方法 我确实发现了这个
  • VB.NET 中的静态方法实现

    我很困惑Static在 VB NET 中的实现 在 C 中 我们可以创建静态类和静态方法来为我们的应用程序编写实用方法 现在 VB NET 让我们创建Module代替静态类 如果我们在模块中创建一个方法 默认情况下它会变成静态的 但在我的应
  • 引用的程序集自动由 Visual Studio 替换

    我有 2 个项目 一个可移植类库和一个常规单元测试项目 在可移植类库中 我使用 NuGet 来引用 Microsoft BCL 可移植包 它附带 2 个程序集 System Threading Tasks dll and System Ru
  • C# 中的 IPC 机制 - 用法和最佳实践

    不久前我在 Win32 代码中使用了 IPC 临界区 事件和信号量 NET环境下场景如何 是否有任何教程解释所有可用选项以及何时使用以及为什么 微软最近在IPC方面的东西是Windows 通信基础 http en wikipedia org

随机推荐

  • Android RSA 加密与 OAEP 使用 SHA-256 进行主摘要和 MGF1 摘要

    根据规范 我需要对两个摘要 主摘要和 MGF1 摘要 使用带有 SHA 256 的 RSA ECB OAEPPadding 密码 安卓密码学 https developer android com guide topics security
  • java try 块的范围应该尽可能严格吗?

    有人告诉我 使用 Java try catch 机制会产生一些开销 因此 虽然有必要将抛出已检查异常的方法放入 try 块中来处理可能的异常 但从性能角度来看 限制 try 块的大小以仅包含那些可能抛出异常的操作是一种很好的做法 我不太确定
  • 在数据库表中存储视图计数

    每次访问数据库记录时存储视图计数的适当且最有效的方法是什么 我有桌子ITEMS包含以下字段 id item name 每个项目都有自己的永久链接 http domain com item name http domain com item
  • CSS 动画属性在动画后保留

    我试图让 CSS 动画属性在完成后保留 这可能吗 这就是我正在努力实现的目标 当用户登陆页面时 该元素应该隐藏 3秒后 或其他时间 它应该淡入 一旦动画完成 它应该停留在那里 这是一个小提琴尝试 http jsfiddle net GZx6
  • SVN将服务器端的数据存储在哪里?

    我已经在我的 Web 主机服务器上创建了一个 svn 存储库 并成功向其中提交文件并更新了文件 但我似乎实际上无法在服务器上找到这些文件 我的 svn 仓库位于 svn my first repo 其中包含以下内容 README txt c
  • 在 Python 中将图像中的颜色映射到颜色列表中最接近的成员

    我有一个 19 种颜色的列表 它是一个大小为 numpy 的数组 19 3 colors np array 0 0 0 0 0 255 255 0 0 150 30 150 255 65 255 150 80 0 170 120 65 12
  • 如何使用 iTextSharp 获取 pdf 文件中的部分目标页码?

    我有一个 pdf 文件 其中包含索引页 其中包含目标页面部分 我可以获得章节名称 第 1 1 节 第 5 2 节 但无法获取目标页码 For ex http www mikesdotnetting com Article 84 iTextS
  • 使用 VB.NET 创建 ODBC DSN

    我想为数据库创建 ODBC DSN 每当用户设置应用程序时 该数据库将包含在我的应用程序文件夹中 我想知道如何使用所有必需的参数创建 ODBC 以便运行安装程序时要做的第一件事是将数据库连接到应用程序 我尝试过使用默认的 VB NET 安装
  • 如何向某些 jQuery 对象添加函数,而不向其他对象添加函数?

    假设我有一个 ul list ul class products ul 我想用 jQuery 选择它 然后向该对象添加一些函数 例如 我想添加一个addProduct productData 函数和一个deleteProduct produ
  • 降低 Bootstrap 3.0 导航栏的高度

    我正在尝试降低与固定顶部行为一起使用的 Bootstrap 3 0 导航栏高度 这里我使用的是代码 HTML div class tnav div class navbar navbar fixed top div class navbar
  • 我应该使用 MySQL blob 字段类型吗?

    我正在努力决定是否应该在即将进行的项目中使用 MySQL blob 字段类型 我的基本要求是 可以查看某些数据库记录 并上传多个文件并将其 附加 到这些记录 根据具体情况 查看所述记录可能仅限于某些人 任何类型的文件都可以上传 几乎没有任何
  • 使用本地密钥 MONGODB 启用数据加密时出错

    我已成功加密 mongoDB 中的通信 但是当我尝试启用数据加密时出现错误 我使用的是 mongoDB 企业版 版本为 3 2 4 我在控制台中收到以下消息 ERROR child process failed exited with er
  • 有没有办法验证 jsonpath 的语法是否正确?

    嗨 我正在尝试找到一种方法验证 jsonpath由用户输入评估之前它 我希望使用正则表达式之类的东西来做到这一点 但到目前为止我找不到任何有关如何验证 jsonpath 语法的文档 资源 所有搜索到的返回资源都讨论了表达式的求值 即使 ja
  • pandas:在(多索引)DataFrame上使用每个组中最常见的值执行 fillna() 的最佳方法是什么?

    有一个包含一些 NaN 值的 DataFrame df pd DataFrame A 1 1 1 1 2 2 2 2 B 1 1 np NaN 2 3 np NaN 3 4 A B 0 1 1 0 1 1 1 0 2 1 NaN lt 3
  • 表格数据的中心文本与 colspan="2" 和 .css " 选择具有属性 colspan="2" " 的 td

    您好 我有一个表 其中一行中的某些列与colspan 2 属性 目前它看起来像这样 我希望一行中连接列的文本居中 但只有连接列中的文本居中 该行的表数据 无限制 有如下代码 tr class row 4 even td class colu
  • python:积分分段函数

    我想积分分段定义的函数 该函数乘以勒让德多项式 不幸的是 我找不到如何使用 x 的第 n 个勒让德多项式文档 http docs scipy org doc numpy reference routines polynomials lege
  • 无法将 .htaccess 转换为 nginx 指令

    为了安装 Taskly crm 我尝试将 htaccess 文件的三个简单指令转换为 nginx vhosts 指令 但没有成功 我已经在自己的 vps 服务器上安装了 Cloudpanel 当我添加网站时 它会附带预配置的虚拟主机 这是我
  • 从需求文件中删除未使用的包

    有没有什么简单的方法可以删除不再使用的包要求 file 我为此任务编写了一个 bash 脚本 但是它没有按我的预期工作 因为 某些包未按照其 PyPI 项目名称使用 例如 dj database url 包用作 dj database ur
  • Spring + JPA 项目的数据库管理站点

    我想知道是否有任何方法可以自动为 Spring JPA 项目生成数据库管理站点 它应该采用带注释的 JPA 实体并动态生成站点以跟踪域 Java 类中的任何更改 我正在寻找类似于 Django 管理站点的东西 我认为你也可以使用 Ruby
  • 如何以编程方式获取 nuget 缓存文件夹位置

    我需要从 NET 应用程序 不是 NET Core 应用程序 获取 NuGet 存储其包的目录列表 我知道默认情况下它位于C Users YourUsername nuget packages因此 一个选项是迭代所有用户 假设运行该进程的当