在Raspberry Pi 5部署.NET Core应用时执行二进制文件出错求助
解决自包含.NET应用部署到树莓派5的执行错误
错误原因
你尝试执行的./dotnet-core-pi5-deploy.dll是.NET托管程序集,不是直接可执行的二进制文件。自包含发布模式下,.NET会生成对应目标架构的原生可执行文件(无.dll后缀),这才是需要运行的程序。
解决步骤
登录树莓派,进入部署目录,查看文件列表:
ls -l /home/hemant/pi/dotnet-core-pi5-deploy你会看到一个和项目同名、不带
.dll后缀的文件(比如dotnet-core-pi5-deploy)。给该可执行文件添加执行权限:
chmod +x ./dotnet-core-pi5-deploy运行程序:
./dotnet-core-pi5-deploy
额外排查方向
- 确认发布命令的完整性:如果需要指定输出目录,建议补充
-o参数,比如:
确保发布输出的文件结构正确。dotnet publish --runtime linux-arm64 --self-contained -o ./publish - 如果想改为依赖树莓派上已安装的.NET运行时(非自包含),可以去掉
--self-contained参数重新发布,然后用以下命令运行:dotnet ./dotnet-core-pi5-deploy.dll
内容的提问来源于stack exchange,提问作者user2243747
相关产品推荐
相关产品推荐

