Arch Linux下Rider构建Blazor WebAssembly项目报CS0234错误
问题概述
在Arch Linux系统上,JetBrains Rider创建的Blazor WebAssembly模板项目(包括此前正常运行的旧项目)突然无法构建,持续触发CS0234错误,提示命名空间中不存在Shared。但在项目目录执行dotnet run命令可正常运行;注释_Imports.razor中的@using test.Shared行后,Rider可成功构建。
解决方案
由于dotnet run能正常执行,说明项目本身的结构、依赖与命名空间配置无问题,错误源于Rider的本地索引或SDK匹配异常,可按以下步骤排查:
清除Rider缓存与索引
打开Rider,点击File > Invalidate Caches...,勾选Clear file system cache and local history,选择Invalidate and Restart。重启后Rider会重新索引项目,多数情况下能解决命名空间识别错误。验证Rider的.NET SDK版本匹配
进入File > Settings > Build, Execution, Deployment > Toolset and Build,确认Rider使用的.NET SDK版本与终端执行dotnet --version输出的版本一致。若不一致,手动指定Arch Linux下的SDK路径(通常为/usr/share/dotnet/sdk/)。重新加载项目/解决方案
在Solution Explorer中右键点击解决方案,选择Reload Solution;或右键单个项目,先执行Unload Project再执行Reload Project,强制Rider重新读取项目配置。确认命名空间配置正确性
检查Shared文件夹内的.razor文件顶部的@namespace声明,或项目文件.csproj中的<RootNamespace>配置,确保确实为test.Shared。若配置正确,缓存清除后Rider即可正常识别。
内容的提问来源于stack exchange,提问作者greg pinakapoging nilalang sa

