夸克之书

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

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

2019-02-05 1405点热度 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控制台程序
在树莓派等基于ARM的开发板运行.NET Core程序插图
平台选择ARM
在树莓派等基于ARM的开发板运行.NET Core程序插图1
选择发布,将生产用于ARM的应用程序。
在树莓派等基于ARM的开发板运行.NET Core程序插图2
在Release文件下会有一个publish的文件夹,将其上传到开发板中。然后运行dll文件。
在树莓派等基于ARM的开发板运行.NET Core程序插图3

踩坑

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

afirefish

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

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

文章评论

您需要 登录 之后才可以评论

管理员

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

搜索文章
分类
  • C# (29)
  • Linux (3)
  • 树莓派 (13)
  • 物联网 (19)
  • 科普 (4)
  • 笔记 (30)
  • 默认 (46)
最新 热点 随机
最新 热点 随机
C#几种深拷贝方法探究及性能比较 获取访问IP信息接口(暂不开放) Vieu主题作者疑似跑路?这人品?!!! 树莓派PWM风扇控制 PVE重启后LVM Thin数据丢失,错误:Volume group "****" has insufficient free space (128 extents): 4048 required. OpenWrt配置SmartDNS OpenWrt x86安装Frpc Intel网卡开机显示Initializing Intel(R) Boot Agent GE v1.5.50
树莓派PWM风扇控制Error response from daemon: cannot stop container: ******: Cannot kill container *******:.....单机Docker搭建FastDFSC# Json序列化时将长整型(long)属性序列化为Json字符串使用淘宝npm以及安装cnpm免费本地解析域名(locallocal.cn),支持HTTPSIdentityServer4证书创建Intel网卡开机显示Initializing Intel(R) Boot Agent GE v1.5.50
解决Mysql中文乱码 火狐浏览器禁止缓存 严肃一点的排序算法(2) – 面条排序 树莓派4B配置U盘启动 利用URL Protocol实现网页调用本地应用程序 树莓派.Net Core Iot入门系列篇(4):UART串口通信 ASP MVC设置Cookie Hyper-v 开启嵌套虚拟化方法
最近评论
发布于 3 周前(03月21日) function getCpuTemp() 函数结束之前使用close关闭 文件流 不关闭的话长...
发布于 3 周前(03月19日) 闹了半天找到问题了 原来是gpio版本问题 pi@raspberrypi:~/Desktop $ ...
发布于 3 周前(03月19日) sudo下执行 无法控制小风扇 普通用户却可以 这是可能是什么原因 :redface:
发布于 2 个月前(02月21日) 好的谢谢,那我只能通过kill杀死推流指令进程来实现了。
发布于 2 个月前(02月21日) 要用这个项目的话,你得自己拉代码来改了。做这玩意儿主要是考虑全天候的,没考虑过关[笑哭]
书签
  • 打赏
  • 毒鸡汤(有点意思)
  • 米店
  • 金鱼直播间
放松一下
https://www.quarkbook.com/wp-content/uploads/2020/09/Yanni-Nightingale.flac
用户您好!请先登录!
登录 注册

COPYRIGHT © 2020 夸克之书. ALL RIGHTS RESERVED.

THEME KRATOS MADE BY VTROIS

蜀ICP备15036129号-9

登录
注册|忘记密码?