VSCode安装C#扩展报错 手动安装VSIX版本异常如何解决
这是我每次尝试安装C#扩展时的报错截图。
我花费了很长时间尝试在VSCode中安装C#扩展,安装过程中弹出报错,提示需要手动下载VSIX文件完成安装。我按照提示完成手动安装后,却出现要求更新至1.25.0版本的异常提示,问题表现十分反常。以下是Log(Window)(窗口日志)中输出的完整报错信息:
[2022-06-03 23:32:00.195] [renderer1] [error] [Extension Host] (node:1168) [DEP0128] DeprecationWarning: Invalid 'main' field in 'c:\Users\jahed\.vscode\extensions\jchannon.csharpextensions-1.3.1\node_modules\find-parent-dir\package.json' of 'find-parent-dir.js'. Please either fix that or report it to the module author (Use `Code --trace-deprecation ...` to show where the warning was created) [2022-06-03 23:32:06.122] [renderer1] [error] Cannot read properties of undefined (reading 'selection'): TypeError: Cannot read properties of undefined (reading 'selection') at CodeActionProvider.getInitializeFromCtorCommand (c:\Users\jahed\.vscode\extensions\jchannon.csharpextensions-1.3.1\out\src\codeActionProvider.js:165:33) at addInitalizeFromCtor (c:\Users\jahed\.vscode\extensions\jchannon.csharpextensions-1.3.1\out\src\codeActionProvider.js:15:28) at CodeActionProvider.provideCodeActions (c:\Users\jahed\.vscode\extensions\jchannon.csharpextensions-1.3.1\out\src\codeActionProvider.js:19:9) at U.provideCodeActions (c:\Users\jahed\AppData\Local\Programs\Microsoft VS Code\resources\app\out\vs\workbench\api\node\extensionHostProcess.js:83:103152) at c:\Users\jahed\AppData\Local\Programs\Microsoft VS Code\resources\app\out\vs\workbench\api\node\extensionHostProcess.js:83:131919 at we._withAdapter (c:\Users\jahed\AppData\Local\Programs\Microsoft VS Code\resources\app\out\vs\workbench\api\node\extensionHostProcess.js:83:126001) at we.$provideCodeActions (c:\Users\jahed\AppData\Local\Programs\Microsoft VS Code\resources\app\out\vs\workbench\api\node\extensionHostProcess.js:83:131895) at s._doInvokeHandler (c:\Users\jahed\AppData\Local\Programs\Microsoft VS Code\resources\app\out\vs\workbench\api\node\extensionHostProcess.js:86:13828) at s._invokeHandler (c:\Users\jahed\AppData\Local\Programs\Microsoft VS Code\resources\app\out\vs\workbench\api\node\extensionHostProcess.js:86:13512) at s._receiveRequest (c:\Users\jahed\AppData\Local\Programs\Microsoft VS Code\resources\app\out\vs\workbench\api\node\extensionHostProcess.js:86:12121) at s._receiveOneMessage (c:\Users\jahed\AppData\Local\Programs\Microsoft VS Code\resources\app\out\vs\workbench\api\node\extensionHostProcess.js:86:10843) at c:\Users\jahed\AppData\Local\Programs\Microsoft VS Code\resources\app\out\vs\workbench\api\node\extensionHostProcess.js:86:8949 at m.invoke (c:\Users\jahed\AppData\Local\Programs\Microsoft VS Code\resources\app\out\vs\workbench\api\node\extensionHostProcess.js:58:145) at E.deliver (c:\Users\jahed\AppData\Local\Programs\Microsoft VS Code\resources\app\out\vs\workbench\api\node\extensionHostProcess.js:58:2265) at v.fire (c:\Users\jahed\AppData\Local\Programs\Microsoft VS Code\resources\app\out\vs\workbench\api\node\extensionHostProcess.js:58:1843) at l.fire (c:\Users\jahed\AppData\Local\Programs\Microsoft VS Code\resources\app\out\vs\workbench\api\node\extensionHostProcess.js:66:19001) at c:\Users\jahed\AppData\Local\Programs\Microsoft VS Code\resources\app\out\vs\workbench\api\node\extensionHostProcess.js:102:34426 at m.invoke (c:\Users\jahed\AppData\Local\Programs\Microsoft VS Code\resources\app\out\vs\workbench\api\node\extensionHostProcess.js:58:145) at E.deliver (c:\Users\jahed\AppData\Local\Programs\Microsoft VS Code\resources\app\out\vs\workbench\api\node\extensionHostProcess.js:58:2265) at v.fire (c:\Users\jahed\AppData\Local\Programs\Microsoft VS Code\resources\app\out\vs\workbench\api\node\extensionHostProcess.js:58:1843) at l.fire (c:\Users\jahed\AppData\Local\Programs\Microsoft VS Code\resources\app\out\vs\workbench\api\node\extensionHostProcess.js:66:19001) at r._receiveMessage (c:\Users\jahed\AppData\Local\Programs\Microsoft VS Code\resources\app\out\vs\workbench\api\node\extensionHostProcess.js:66:23582) at c:\Users\jahed\AppData\Local\Programs\Microsoft VS Code\resources\app\out\vs\workbench\api\node\extensionHostProcess.js:66:21116 at m.invoke (c:\Users\jahed\AppData\Local\Programs\Microsoft VS Code\resources\app\out\vs\workbench\api\node\extensionHostProcess.js:58:145) at E.deliver (c:\Users\jahed\AppData\Local\Programs\Microsoft VS Code\resources\app\out\vs\workbench\api\node\extensionHostProcess.js:58:2265) at v.fire (c:\Users\jahed\AppData\Local\Programs\Microsoft VS Code\resources\app\out\vs\workbench\api\node\extensionHostProcess.js:58:1843) at v.acceptChunk (c:\Users\jahed\AppData\Local\Programs\Microsoft VS Code\resources\app\out\vs\workbench\api\node\extensionHostProcess.js:66:15832) at c:\Users\jahed\AppData\Local\Programs\Microsoft VS Code\resources\app\out\vs\workbench\api\node\extensionHostProcess.js:66:14962 at Socket.R (c:\Users\jahed\AppData\Local\Programs\Microsoft VS Code\resources\app\out\vs\workbench\api\node\extensionHostProcess.js:102:13798) at Socket.emit (node:events:390:28) at addChunk (node:internal/streams/readable:315:12) at readableAddChunk (node:internal/streams/readable:289:9) at Socket.Readable.push (node:internal/streams/readable:228:10) at Pipe.onStreamRead (node:internal/stream_base_commons:199:23) [2022-06-03 23:32:44.600] [renderer1] [error] [Extension Host] (node:7304) [DEP0128] DeprecationWarning: Invalid 'main' field in 'c:\Users\jahed\.vscode\extensions\jchannon.csharpextensions-1.3.1\node_modules\find-parent-dir\package.json' of 'find-parent-dir.js'. Please either fix that or report it to the module author (Use `Code --trace-deprecation ...` to show where the warning was created) [2022-06-03 23:34:45.207] [renderer1] [error] [Extension Host] (node:19212) [DEP0128] DeprecationWarning: Invalid 'main' field in 'c:\Users\jahed\.vscode\extensions\jchannon.csharpextensions-1.3.1\node_modules\find-parent-dir\package.json' of 'find-parent-dir.js'. Please either fix that or report it to the module author (Use `Code --trace-deprecation ...` to show where the warning was created) [2022-06-04 00:12:17.128] [renderer1] [error] ["Download: XHR failed"," at q.downloadInstallableExtension (vscode-file://vscode-app/c:/Users/jahed/AppData/Local/Programs/Microsoft%20VS%20Code/resources/app/out/vs/code/electron-browser/sharedProcess/sharedProcessMain.js:76:218799)"," at async q.doRun (vscode-file://vscode-app/c:/Users/jahed/AppData/Local/Programs/Microsoft%20VS%20Code/resources/app/out/vs/code/electron-browser/sharedProcess/sharedProcessMain.js:76:217417)"] [2022-06-04 00:12:17.155] [renderer1] [error] XHR failed: Download: XHR failed at q.downloadInstallableExtension (vscode-file://vscode-app/c:/Users/jahed/AppData/Local/Programs/Microsoft%20VS%20Code/resources/app/out/vs/code/electron-browser/sharedProcess/sharedProcessMain.js:76:218799) at async q.doRun (vscode-file://vscode-app/c:/Users/jahed/AppData/Local/Programs/Microsoft%20VS%20Code/resources/app/out/vs/code/electron-browser/sharedProcess/sharedProcessMain.js:76:217417)
故障原因
- 装错扩展了。日志里报错的
jchannon.csharpextensions-1.3.1是第三方个人发布的C#辅助插件,不是微软官方的C#开发核心扩展,这个版本本身存在代码bug,才会触发读取selection属性失败的运行时错误,以及依赖包配置字段不合法的警告。 - 安装时弹出的
Download: XHR failed是网络问题,VSCode连不上扩展市场的下载节点,才会提示手动安装VSIX,手动安装的错误版本就会触发反常的更新提示。
修复步骤
- 清除故障插件残留:完全退出VSCode,打开文件夹
c:\Users\jahed\.vscode\extensions\,直接删除jchannon.csharpextensions-1.3.1整个文件夹,不要留残留文件。 - 解决网络连接问题:如果本地开了代理,打开VSCode设置搜索
Proxy,把代理地址填到Http: Proxy配置项中,格式为http://127.0.0.1:本地代理端口,同时关闭Http: Proxy Strict SSL的严格SSL校验,避免证书拦截导致下载失败。没有代理的话直接走手动VSIX安装路径即可。 - 安装正确的官方扩展:在VSCode扩展面板搜索C#,认准发布者为Microsoft的官方C#扩展(扩展ID为
ms-dotnettools.csharp),网络正常的话直接点击安装即可。如果仍然报XHR下载错误,就手动获取对应版本的VSIX安装包,点击扩展面板右上角三个点按钮,选择「从VSIX安装」,选中下载好的安装包完成安装后重启VSCode。 - 验证修复结果:重启后打开C#项目文件,查看扩展面板中的C#扩展状态,没有异常更新提示,窗口日志中不再出现之前的selection报错和依赖包警告即为修复成功。
提醒:第三方个人发布的扩展迭代不及时,很容易和新版VSCode出现兼容性问题,进行C#开发优先安装微软官方发布的扩展包,注意甄别同名第三方插件避免装错。
内容的提问来源于stack exchange,提问作者Jahedul Islam
相关产品推荐
相关产品推荐

