前言

本人的技术栈基本上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程序相关推荐

  1. 11基于主从博弈理论的共享储能与综合能源微网优化运行研究(MATLAB程序)

    资源地址: 11基于主从博弈理论的共享储能与综合能源微网优化运行研究MATLAB复现程序_冷热电联供系统cplex-电子商务文档类资源-CSDN文库 参考文献: 基于主从博弈理论的共享储能与综合能源微 ...

  2. 树莓派用c语言pwm控制电机,树莓派学习笔记之PWM控制直流电机转速

    树莓派控制PWM控制电机转速 一.硬件 树莓派 12V直流电机 L298N电机驱动器 220V转12V变压器 二.连线 树莓派与L298N需要共地 L298N驱动模块 树莓派接线 三.树莓派pytho ...

  3. 基于c语言 自制编程语言,自制编程语言:基于C语言

    前百度高 级工程师.专业书<操作系统真相还原>的作者的又一力作业界专家联名推荐滴滴系统部技术高 级总监于晓声阿里巴巴蚂蚁金服技术专家肖金亮百度资 深运维工程师陈晓聪 360企业安全集团政企 ...

  4. 【开源】开发板上电教程——疯壳·ARM双处理器开发板系列

    目录 硬件连接 电池供电 USB口供电 注意: 硬件连接 做完全部的实验,需要有以下模块: WT手机开发板(手机主控底板+手机电容屏模块+FPC_30P排线+GSM天线): 200W摄像头模组: 心率 ...

  5. 基于c语言的自动泊车系统软件设计,基于单片机的自动泊车系统实验平台的设计.doc...

    摘要:随着新一轮科技变革的来临,人类已经进入了汽车时代.城市拥堵问题已经成为一个共性问题,给人们的出行带来诸多不变,治理拥堵成为考验城市管理者能力的一个难点.特别是大城市的停车场管理更加有困难.这就迫 ...

  6. jemeter python接口自动化测试平台_WEB接口开发与自动化测试基于PYTHON语言PDF_Python教程...

    资源名称:WEB接口开发与自动化测试 基于PYTHON语言 PDF 内容简介: <Web接口开发与自动化测试--基于Python语言>以接口测试为主线,以Web开发为切入点,全面介绍了We ...

  7. c语言编写计算机软件,基于C语言的计算机软件编程分析.doc

    基于C语言的计算机软件编程分析.doc 基于C语言的计算机软件编程分析 摘要:C语言是一种重要的编程语言,在当今IT业的运用十分广泛.使用C语言来编写的程序简单.直接.准确,极大地推动了计算机软件的更 ...

  8. ARM嵌入式开发板推荐

    arm嵌入式主板具有低成本.高性能.低功耗的特点,是一个嵌入在设备里面做控制.数据处理使用的CPU板,承担着"大脑"的角色,主要是作为工控主板使用.短短几年,ARM嵌入式的异军突起 ...

  9. c语言排序算法 应用与实现,基于C语言排序算法改进与应用.doc

    基于C语言排序算法改进与应用 基于C语言排序算法改进与应用 摘 要:介绍了程序语言中排序的原理及应用,阐述了基于C语言的三种主要排序方法,提出了每种排序方法的改进,计算出改进后算法的时间复杂度,编写了 ...

最新文章

  1. Java反射 - 私有字段和方法
  2. mongodb 导出到sqlserver_迁移sqlserver数据到MongoDb的方法
  3. https下 http的会被阻塞 This request has been blocked; the content must be served over HTTPS.
  4. 基于python的语料库数据处理电子版_基于 Python 自然语言处理工具包在语料库研究中的运用...
  5. Mac下安装mysql5.7 完整步骤(图文详解)
  6. nginx upstream配置_Prometheus快速监控Nginx
  7. Python和SQL Server 2017的力量
  8. 洛谷 2719 搞笑世界杯
  9. 基于Pytorch的NLP入门任务思想及代码实现:判断文本中是否出现指定字
  10. Linux系统编程29:进程信号之什么是信号及signal函数
  11. 前端单页路由《stateman》源码解析
  12. 量子计算机拓扑超导新状态,陈根:特殊超导体,有助于量子计算机运行
  13. Iocomp Ultra Pack ActiveX 5.12
  14. 方立勋jdbc mysql视频_java视频教程 Java自学视频整理(持续更新中...)
  15. C#判断PC是否支持触摸屏
  16. Live Streaming Datasets--网络数据集下载
  17. fastapi框架tortoise-orm运用
  18. xp计算机u盘重装系统,如何用u盘装xp系统_纯净版xp系统_xp系统安装教程 - u大师...
  19. 【射频知识】吸波材料
  20. 购买太平洋保险公司聚宝盆险发现虚假宣传,没有证据,如何向保监会投诉

热门文章

  1. 朗强:会议控制系统设备信号hdmi传输器有哪些
  2. 匈牙利算法和hopcroft_karp算法模板
  3. 开学一个月的心得体会
  4. WebView相关面试题
  5. python标准模块string
  6. Gps如何根据两点(经纬度)计算直线距离
  7. 外置MOS大功率升压芯片FP5207
  8. linux 内核态 cos函数,浅析μCOS/II v2.85内核OSMboxPend()和OSMboxPost()函数工作原理
  9. H264编码器13(CAVLC和CABAC简介)
  10. 超链接 a href 提交表单通过post方式