在macOS上运行Blazor示例项目,Client端启动失败求助
嘿,我太懂刚上手Blazor就遇到卡壳问题的郁闷了!既然你已经顺利跑起来Server项目,那Client端的问题大概率是Mac环境下的配置或兼容性小坑,我给你几个亲测有效的排查步骤:
先确认项目类型与SDK匹配
先检查你要运行的Client项目是不是Blazor WebAssembly类型,打开终端进入Client项目目录,执行:cat Client.csproj看里面的
<Sdk>节点是不是Microsoft.NET.Sdk.BlazorWebAssembly。同时确认你的.NET SDK版本符合项目要求,执行dotnet --version查看,要是版本过低,直接升级到对应稳定版即可。清理缓存并重建项目
有时候项目缓存会导致奇奇怪怪的问题,先彻底清理再重建:cd Client dotnet clean dotnet restore dotnet build完成后再尝试
dotnet run启动项目。检查端口是否被占用
Blazor Client默认用5000/5001端口,可能被其他程序占用了。执行以下命令查看端口占用情况:lsof -i :5000如果有进程占用,用
kill -9 <进程ID>杀掉对应的进程,或者修改项目端口:打开Client项目下的Properties/launchSettings.json,找到applicationUrl字段,改成未被占用的端口,比如:"applicationUrl": "https://localhost:5002;http://localhost:5003"适配Apple Silicon(M系列芯片)Mac
如果你用的是M系列芯片的Mac,可能遇到兼容性问题:- 确保安装的是Arm架构的.NET SDK(不要用x64版本);
- 可以尝试在
Client.csproj里添加以下配置,解决启动兼容性问题:<PropertyGroup> <RunCommand>dotnet</RunCommand> <RunArguments>$(MSBuildProjectDirectory)/bin/$(Configuration)/$(TargetFramework)/$(AssemblyName).dll</RunArguments> </PropertyGroup>
解决SSL证书问题
Mac上经常遇到开发SSL证书不被信任的问题,执行以下命令信任开发证书:dotnet dev-certs https --trust按照提示完成证书信任操作后,再启动项目试试。
要是上面的步骤都没解决问题,把dotnet run时弹出的具体错误信息贴出来,我们可以针对性再调整!
内容的提问来源于stack exchange,提问作者Sérgio Damasceno

