.NET下载缓存默认路径查询及Fusion项缺失故障排查
.NET卷影复制下载缓存相关问题解答
默认下载缓存路径
未自定义配置时,.NET Framework 卷影复制使用的默认下载缓存路径为 %LOCALAPPDATA%\assembly,展开后完整路径一般为 C:\Users\[当前登录用户名]\AppData\Local\assembly。
注册表存储规则
HKCU\Software\Microsoft\Fusion\DownloadCacheLocation 属于自定义配置项,系统默认不会主动创建该注册表项,只有当用户或应用主动修改过默认下载缓存路径时,才会生成对应的键值。如果该注册表项不存在,系统会自动使用上文提到的默认路径。
路径查询方法
- 命令行查询:打开 cmd 或 PowerShell 执行
echo %LOCALAPPDATA%\assembly,即可输出当前用户的默认缓存路径。如果需要确认是否存在自定义配置,可执行reg query "HKCU\Software\Microsoft\Fusion" /v DownloadCacheLocation,返回找不到项/值则代表使用默认路径。 - 代码查询:在.NET 程序中可新增兜底逻辑,优先读取注册表的自定义配置,读取失败则直接拼接
Environment.GetFolderPath(Environment.SpecialFolder.LocalApplicationData)+@"\assembly"得到默认路径。
缺失Fusion注册表项的故障排查方向
- 确认程序运行身份:如果程序以管理员、系统服务身份运行,会读取
HKLM而非当前用户的HKCU注册表路径,需确认对应运行上下文的注册表分支下是否存在配置。 - 检查程序逻辑:如果你的代码中存在硬编码读取该注册表项、没有配置兜底逻辑的情况,会直接出现路径获取失败的问题,需新增读取失败时使用默认路径的逻辑。
- 修复.NET Framework安装:Fusion 是.NET Framework 程序集加载引擎的核心模块,意外删除整个 Fusion 项大概率是.NET Framework 安装损坏,可通过控制面板的「启用或关闭 Windows 功能」修复,或运行官方.NET Framework 修复工具处理。
- 排查规则拦截:企业组策略、第三方安全软件的注册表清理/拦截规则可能会误删 Fusion 项,可临时关闭安全软件、检查组策略的注册表管控规则验证。
- 手动补全配置:临时验证可手动在对应注册表路径下创建
Fusion项,新增字符串值DownloadCacheLocation,填写目标缓存路径后重启程序验证是否恢复正常。
内容的提问来源于stack exchange,提问作者Torber-Rade
相关产品推荐
相关产品推荐

