Blazor WASM项目非调试模式无法运行问题求助
Blazor WASM非调试模式启动异常解决思路
针对你遇到的「Blazor WASM项目无法通过dotnet run或VS非调试模式启动,调试模式正常,抛出System.TypeInitializationException: The type initializer for 'System.UriParser' threw an exception」问题,提供以下排查方向:
- 核对项目目标框架配置:确认项目.csproj文件中
<TargetFramework>的版本,同时检查非调试(Release)配置是否单独指定了不同的框架版本,确保调试与非调试模式使用一致的.NET SDK版本。 - 清理编译缓存:执行
dotnet clean命令,手动删除项目根目录下的bin和obj文件夹,再运行dotnet restore重新还原依赖,避免旧编译文件干扰。 - 关闭AOT编译:如果项目启用了AOT编译(.csproj中存在
<RunAOTCompilation>true</RunAOTCompilation>),尝试将其改为false,AOT编译可能导致类型初始化环节出现兼容性问题。 - 清除浏览器缓存:非调试模式下浏览器可能缓存了旧的WASM资源,尝试使用隐私窗口启动项目,或手动清除浏览器的站点缓存。
- 排查自定义Uri相关代码:检查项目中是否有全局修改
UriParser的代码,比如自定义UriScheme注册,这类操作在非调试模式下可能提前触发初始化异常。 - 测试空白项目:用
dotnet new blazorwasm创建全新空白项目,直接执行dotnet run启动。如果空白项目正常,说明原项目存在特定配置或依赖冲突,可逐步迁移代码、添加依赖来定位问题点。 - 检查系统环境变量:排查是否存在
DOTNET_开头的环境变量(比如与Uri解析、网络相关的配置),临时移除这类变量后再尝试启动项目,确认是否是环境变量导致的异常。
内容的提问来源于stack exchange,提问作者BlazorSaddles
相关产品推荐
相关产品推荐

