ubuntu - 树莓派 4 上 Ubuntu 20.10 上的 .net Core 控制台应用程序在尝试执行程序时给出 No such file or directory
问题描述
我已使用 VS2019 中的发布功能将我的 Hello World 控制台应用程序发布到运行 Ubuntu 20.10 的树莓派 4,并使用 scp 将其复制到我的 PI。
当我尝试启动程序时(我已将其 chmod 为可执行),我收到错误:
bash: ./AppName: 没有这样的文件或目录
创建我的应用程序的步骤:
- 我在 Visual Studio 2019 社区版中创建了一个 Hello World C# .NET Core 控制台应用程序
- 我发布了它(在解决方案资源管理器中右键单击项目名称)
- 目标:文件夹
- 具体目标:文件夹
- 配置文件设置
- 配置:调试 | 任何 CPU
- 目标框架:netcoreapp3.1
- 部署方式:自成体系
- 目标运行时:Linux-arm
- 生成单个文件:选中
- 使用 scp * username@10.10.2.22:/home/username/Downloads/core 复制发布文件夹中的文件
- chmod 777 应用程序名称
- ./应用名称
我得到错误:
bash: ./AppName: 没有这样的文件或目录
我必须忽略一些简单的东西,但我找不到它。
如何在 Ubuntu 20.10 上运行的 Raspberry PI4 上运行我的 Hello World C# .NET Core 控制台应用程序?
解决方案
这个古老的问题没有答案,但万一你是从搜索引擎到这里的,答案就在这里。
如何识别问题?
file cross_compiled_executable
包含如下内容:
interpreter /lib/ld-uClibc.so.0
问题是目标上不存在该文件。
这意味着您可能为错误的架构构建它(32 位与 64 位)
我将 linux-arm 更改为linux-arm64
dotnet build -c Release -r linux-arm
至
dotnet build -c Release -r linux-arm64
一切都恢复正常了。
推荐阅读
- typescript - 由于“不兼容的调用签名”,无法在打字稿中使用类名
- mysql - Nodejs - 正在插入数据,但我没有收到回复
- json - 向从数据库中获取的电话号码发送短信。代码不工作
- php - Laravel 分页 - 无法读取生产服务器中 url "/post/show/all?page=3" 中的参数
- javascript - Pusher 私人频道订阅出现意外错误
- attributes - __getattr__ 特殊方法
- java - 无法证明 -100000000000000 有资格作为长输入
- reactjs - 在 React 路由器中使用有状态组件
- reactjs - 从 Rails API 获取时如何修复“Access-Control-Allow-Origin”错误
- oracle - 为了执行 CRUD(在 Oracle 12 上),赋予用户什么角色和权限