Blazor WASM本地运行报错:Uncaught TypeError: Failed to Fetch
Uncaught TypeError: Failed to Fetch 修改系统证书后,本地PC、Visual Studio及IIS出现异常,所有Blazor WASM项目(包括新建项目)均无法启动,控制台反复抛出以下错误:
Uncaught TypeError TypeError: Failed to Fetch at loadResourceWithoutCaching (localhost꞉7098/_framework/blazor.webassembly.js:1:52251) at loadResourceWithCaching (localhost꞉7098/_framework/blazor.webassembly.js:1:51982) --- Promise.then --- at <anonymous> (localhost꞉7098/_framework/blazor.webassembly.js:1:39163) at <anonymous> (localhost꞉7098/_framework/blazor.webassembly.js:1:39140) at start (localhost꞉7098/_framework/blazor.webassembly.js:1:46018) at Vt (localhost꞉7098/_framework/blazor.webassembly.js:1:62202) --- await --- at <anonymous> (localhost꞉7098/_framework/blazor.webassembly.js:1:63609) at <anonymous> (localhost꞉7098/_framework/blazor.webassembly.js:1:63686)
浏览器控制台有对应报错,已尝试修复IIS和Visual Studio,但问题未解决。
解决建议
重置本地开发证书
以管理员身份打开命令提示符,依次执行:dotnet dev-certs https --clean dotnet dev-certs https --trust执行完成后重启Visual Studio,重新运行项目。
检查浏览器证书信任状态
打开浏览器证书管理页面(如Chrome:设置→隐私和安全→安全→管理证书),确认localhost本地开发证书是否在「受信任的根证书颁发机构」列表中。若不在,手动导入%USERPROFILE%\.aspnet\https路径下的证书文件。临时切换到HTTP启动(排查验证)
右键项目→属性→调试,将「应用URL」改为HTTP协议(例如http://localhost:5098),关闭HTTPS选项,运行项目测试是否正常。如果正常,说明HTTPS证书问题未彻底解决,回到证书重置步骤继续排查。清除缓存并重新生成项目
打开浏览器开发者工具(F12),在「应用」标签下清除所有缓存、Cookie和本地存储;同时删除项目的bin和obj目录,重新生成解决方案。重置IIS Express对应端口证书
以管理员身份打开命令提示符,执行(替换端口号为你项目实际使用的端口):"%ProgramFiles(x86)%\IIS Express\IisExpressAdminCmd.exe" setupsslUrl -url:https://localhost:7098/ -UseSelfSigned执行后重启IIS Express再运行项目。
清理系统异常证书
按下Win+R输入certmgr.msc打开证书管理器,检查「个人」和「受信任的根证书颁发机构」中是否有损坏或手动修改过的可疑证书,删除后重新生成开发证书。
内容的提问来源于stack exchange,提问作者SkinnyPete63

