夸克之书

  • 首页
  • 科普
  • 笔记
  • .NET/C#
  • 物联网
  • 算法
  • Linux
  • 树莓派
夸克之内,别有洞天
  1. 首页
  2. 物联网
  3. 正文

在树莓派等基于ARM的开发板运行.NET Core程序

2019-02-05 6146点热度 0人点赞 0条评论

前言

本人的技术栈基本上C#方向上面的,又对树莓派之类的开发特别感兴趣,奈何C语言学的一知半解,很多东西都没法做。所以瞅上了.NET Core,毕竟跨平台,自己也熟悉C#。

依赖

首先是安装依赖。之所以把安装依赖放在前面,是因为不安装依赖的话,之后运行程序会各种报错。

sudo apt install libunwind8 libuuid1 liblttng-ust0 libcurl3 libssl1.0.0 libkrb5-3 zlib1g libicu55

其实需要安装的依赖微软基本都给出了。参考地址:https://docs.microsoft.com/en-us/dotnet/core/linux-prerequisites?tabs=netcore2x

安装.Net Core RunTime

这里推荐使用脚本安装, 可以自动安装对应架构对应系统的版本。按照微软团队给出的方法:

Scripting Installs with the .NET Core installer script
The dotnet-install scripts are used to perform a non-admin install of the CLI toolchain and the shared runtime. You can download the script from https://dot.net/v1/dotnet-install.sh.

获取脚本

wget https://dot.net/v1/dotnet-install.sh
sudo chmod +x dotnet-install.sh
如果你只想安装runtime并不想安装sdk的话,直接执行以下命令,默认是安装LTS版本:
./dotnet-install.sh --runtime dotnet
如果runtime和sdk要一并安装的话,输入以下命令(指定版本安装):
./dotnet-install.sh --channel 2.1
安装最新版:
./dotnet-install.sh --channel Current
默认是安装到了当前用户目录的.dotnet文件夹内,所以要把当前目录添加到环境变量。
sudo export PATH="/root/.dotnet:$PATH"    #注意:当前是root用户,非root用户去掉sudo和更改.dotnet位置
然后运行
sudo source /etc/profile
或者直接添加映射(推荐)
sudo ln -s /root/.dotnet/dotnet /usr/local/bin
把当前目录添加到环境变量和添加程序映射,推荐第二种。 此时输入dotnet --info应显示以下类似信息:
Usage: dotnet [options]
Usage: dotnet [path-to-application]

Options:
  -h|--help         Display help.
  --info            Display .NET Core information.
  --list-sdks       Display the installed SDKs.
  --list-runtimes   Display the installed runtimes.

path-to-application:
  The path to an application .dll file to execute.
root@Neo2:/usr/local/bin# dotnet --info
.NET Core SDK (reflecting any global.json):
 Version:   2.1.503
 Commit:    4c506e0f35

Runtime Environment:
 OS Name:     ubuntu
 OS Version:  16.04
 OS Platform: Linux
 RID:         ubuntu.16.04-arm64
 Base Path:   /root/.dotnet/sdk/2.1.503/

Host (useful for support):
  Version: 2.1.7
  Commit:  cca5d72d48

.NET Core SDKs installed:
  2.1.503 [/root/.dotnet/sdk]

.NET Core runtimes installed:
  Microsoft.NETCore.App 2.1.7 [/root/.dotnet/shared/Microsoft.NETCore.App]

To install additional .NET Core runtimes or SDKs:
  https://aka.ms/dotnet-download
需要注意的是,这只是配置了.NET Core Runtime。

运行控制台程序

1、直接初始化项目 通过命令行直接初始化一个Hello World项目,然后运行。输入命令:
dotnet new console -o ConsoleTest
运行
cd ConsoleTest
dotnet run
2、在VS中编写.NET Core程序 创建.NET Core控制台程序
%title插图%num
平台选择ARM
%title插图%num
选择发布,将生产用于ARM的应用程序。
%title插图%num
在Release文件下会有一个publish的文件夹,将其上传到开发板中。然后运行dll文件。
%title插图%num

踩坑

1、为什么不按照微软官方的教程按照.Net Core? 本来我是想按照微软官方的教程一步一步按照core2.1的,但是一直cannot find any package。所以只能借鉴别个的教程来安装Runtime。个人推测是因为系统和开发板的原因,手里面展暂时没有树莓派,用的是Nanopi。微软官方的教程地址:https://dotnet.microsoft.com/learn/dotnet/hello-world-tutorial#install。
%title插图%num
2、dotnet run失败 直接初始化项目,然后run的是报错。
%title插图%num
不晓得是什么原因造成的。
本作品采用 知识共享署名-非商业性使用 4.0 国际许可协议 进行许可
标签: 暂无
最后更新:2020-12-13

afirefish

这个人很懒,什么都没留下

打赏 点赞
< 上一篇
下一篇 >

文章评论

您需要 登录 之后才可以评论
放松一下
https://www.quarkbook.com/wp-content/uploads/2021/05/凤凰传奇-海底(Live).flac
分类
  • .NET/C#
  • Linux
  • 树莓派
  • 物联网
  • 科普
  • 笔记
  • 算法
  • 默认
最新 热点 随机
最新 热点 随机
在代码中判断龙芯新旧世界平台 Windows获取固定后缀的IPv6地址 目前为止,你可能找不到第二台支持志强的1L小主机(P350 Tiny+W-1350+ECC+双NVME+PCIE扩展)!!! iKuai(爱快)实现成都移动IPTV IPoE拨号 Linux EXT4分区误删除后数据恢复 C#连接到巴法云
在代码中判断龙芯新旧世界平台
在ASP.NET Core中使用Redis作为Session Ubuntu/Debian安装Frps并设置开机启动 宝塔面板反向代理域名IP变化时无法访问 智能语音控制中心 - 树莓派、Nanopi、Orangepi语音识别控制 基于.NET 6和Vue开发的企业级前后端分离权限管理开发框架 Visual Studio 2019(VS2019) 密钥/激活码
最近评论
Eagle 发布于 7 个月前(10月21日) 参考博主教程成功搞定了成都移动IPTV组播转单播,电脑、手机都可以播放了。但目前有个问题,原IPTV...
rundoze 发布于 9 个月前(08月31日) 牛逼
cc21216695 发布于 2 年前(09月27日) 试了一下,加入启动项也无效,压根没有用
afirefish 发布于 3 年前(11月28日) 非常感谢,非常棒!
》随缘《 发布于 3 年前(11月20日) 最新【一键处理】方法: https://github.com/MrXhh/VSTools/rele...
书签
  • 打赏
  • 毒鸡汤
  • 米店
  • 金鱼直播间

COPYRIGHT © 2023 quarkbook.com. ALL RIGHTS RESERVED.

Theme Kratos Made By Seaton Jiang

蜀ICP备15036129号-9

登录
注册|忘记密码?