SDK 8执行dotnet workload update遇BSOD后出现403及JSON读取异常求助
如何让.NET SDK的JSON读取异常显示详细文件路径
启用CLI详细日志
设置环境变量DOTNET_CLI_CONTEXT_LOG_LEVEL为Trace,再执行出问题的命令:- Windows(CMD):
set DOTNET_CLI_CONTEXT_LOG_LEVEL=Trace dotnet --info - Linux/macOS:
export DOTNET_CLI_CONTEXT_LOG_LEVEL=Trace dotnet --info
日志会输出所有SDK访问的文件路径,从中定位0字节的JSON清单。
- Windows(CMD):
开启System.Text.Json诊断开关
设置DOTNET_SYSTEM_TEXT_JSON_DIAGNOSTICS=1环境变量,这个开关会让JSON读取异常携带更多上下文,直接指出出错的文件:set DOTNET_SYSTEM_TEXT_JSON_DIAGNOSTICS=1 dotnet workload list执行后抛出的
JsonReaderException会包含具体的文件路径信息。直接排查workload缓存目录
如果上面的方法没生效,可直接去workload缓存目录找0字节文件:- Windows:
%USERPROFILE%\.dotnet\workloads - Linux/macOS:
~/.dotnet/workloads
删除所有0字节的JSON文件,或者清空整个缓存目录后运行dotnet workload restore,SDK会重新下载完整的清单文件。
- Windows:
内容的提问来源于stack exchange,提问作者vbjay
相关产品推荐
相关产品推荐

