树莓派基于c语言开发板,在树莓派等基于ARM的开发板运行.NET Core程序
前言
本人的技术栈基本上C#方向上面的,又对树莓派之类的开发特别感兴趣,奈何C语言学的一知半解,很多东西都没法做。所以瞅上了.NET Core,毕竟跨平台,自己也熟悉C#。
依赖
首先是安装依赖。之所以把安装依赖放在前面,是因为不安装依赖的话,之后运行程序会各种报错。
sudo apt install libunwind8 libuuid1 liblttng-ust0 libcurl3 libssl1.0.0 libkrb5-3 zlib1g libicu55
安装.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
选择发布,将生产用于ARM的应用程序。
在Release文件下会有一个publish的文件夹,将其上传到开发板中。然后运行dll文件。
踩坑
1、为什么不按照微软官方的教程按照.Net Core?
本来我是想按照微软官方的教程一步一步按照core2.1的,但是一直cannot find any package。所以只能借鉴别个的教程来安装Runtime。个人推测是因为系统和开发板的原因,手里面展暂时没有树莓派,用的是Nanopi。微软官方的教程地址:https://dotnet.microsoft.com/learn/dotnet/hello-world-tutorial#install。
2、dotnet run失败
直接初始化项目,然后run的是报错。
不晓得是什么原因造成的。
树莓派基于c语言开发板,在树莓派等基于ARM的开发板运行.NET Core程序相关推荐
- 11基于主从博弈理论的共享储能与综合能源微网优化运行研究(MATLAB程序)
资源地址: 11基于主从博弈理论的共享储能与综合能源微网优化运行研究MATLAB复现程序_冷热电联供系统cplex-电子商务文档类资源-CSDN文库 参考文献: 基于主从博弈理论的共享储能与综合能源微 ...
- 树莓派用c语言pwm控制电机,树莓派学习笔记之PWM控制直流电机转速
树莓派控制PWM控制电机转速 一.硬件 树莓派 12V直流电机 L298N电机驱动器 220V转12V变压器 二.连线 树莓派与L298N需要共地 L298N驱动模块 树莓派接线 三.树莓派pytho ...
- 基于c语言 自制编程语言,自制编程语言:基于C语言
前百度高 级工程师.专业书<操作系统真相还原>的作者的又一力作业界专家联名推荐滴滴系统部技术高 级总监于晓声阿里巴巴蚂蚁金服技术专家肖金亮百度资 深运维工程师陈晓聪 360企业安全集团政企 ...
- 【开源】开发板上电教程——疯壳·ARM双处理器开发板系列
目录 硬件连接 电池供电 USB口供电 注意: 硬件连接 做完全部的实验,需要有以下模块: WT手机开发板(手机主控底板+手机电容屏模块+FPC_30P排线+GSM天线): 200W摄像头模组: 心率 ...
- 基于c语言的自动泊车系统软件设计,基于单片机的自动泊车系统实验平台的设计.doc...
摘要:随着新一轮科技变革的来临,人类已经进入了汽车时代.城市拥堵问题已经成为一个共性问题,给人们的出行带来诸多不变,治理拥堵成为考验城市管理者能力的一个难点.特别是大城市的停车场管理更加有困难.这就迫 ...
- jemeter python接口自动化测试平台_WEB接口开发与自动化测试基于PYTHON语言PDF_Python教程...
资源名称:WEB接口开发与自动化测试 基于PYTHON语言 PDF 内容简介: <Web接口开发与自动化测试--基于Python语言>以接口测试为主线,以Web开发为切入点,全面介绍了We ...
- c语言编写计算机软件,基于C语言的计算机软件编程分析.doc
基于C语言的计算机软件编程分析.doc 基于C语言的计算机软件编程分析 摘要:C语言是一种重要的编程语言,在当今IT业的运用十分广泛.使用C语言来编写的程序简单.直接.准确,极大地推动了计算机软件的更 ...
- ARM嵌入式开发板推荐
arm嵌入式主板具有低成本.高性能.低功耗的特点,是一个嵌入在设备里面做控制.数据处理使用的CPU板,承担着"大脑"的角色,主要是作为工控主板使用.短短几年,ARM嵌入式的异军突起 ...
- c语言排序算法 应用与实现,基于C语言排序算法改进与应用.doc
基于C语言排序算法改进与应用 基于C语言排序算法改进与应用 摘 要:介绍了程序语言中排序的原理及应用,阐述了基于C语言的三种主要排序方法,提出了每种排序方法的改进,计算出改进后算法的时间复杂度,编写了 ...
最新文章
- Java反射 - 私有字段和方法
- mongodb 导出到sqlserver_迁移sqlserver数据到MongoDb的方法
- https下 http的会被阻塞 This request has been blocked; the content must be served over HTTPS.
- 基于python的语料库数据处理电子版_基于 Python 自然语言处理工具包在语料库研究中的运用...
- Mac下安装mysql5.7 完整步骤(图文详解)
- nginx upstream配置_Prometheus快速监控Nginx
- Python和SQL Server 2017的力量
- 洛谷 2719 搞笑世界杯
- 基于Pytorch的NLP入门任务思想及代码实现:判断文本中是否出现指定字
- Linux系统编程29:进程信号之什么是信号及signal函数
- 前端单页路由《stateman》源码解析
- 量子计算机拓扑超导新状态,陈根:特殊超导体,有助于量子计算机运行
- Iocomp Ultra Pack ActiveX 5.12
- 方立勋jdbc mysql视频_java视频教程 Java自学视频整理(持续更新中...)
- C#判断PC是否支持触摸屏
- Live Streaming Datasets--网络数据集下载
- fastapi框架tortoise-orm运用
- xp计算机u盘重装系统,如何用u盘装xp系统_纯净版xp系统_xp系统安装教程 - u大师...
- 【射频知识】吸波材料
- 购买太平洋保险公司聚宝盆险发现虚假宣传,没有证据,如何向保监会投诉