点击上方蓝字关注“汪宇杰博客”

导语

我最近买了个树莓派4,4GB内存高富帅配置,并安装了官方操作系统Raspbian。今天我成功运行了一个ASP.NET Core 3.0 应用程序。我们来看看怎么弄的吧~

ARM32 还是 ARM64?

需要说明的是,目前无法在树莓派 4 上运行 ARM64 版本的 .NET Core 运行时或 SDK。虽然树莓派4的CPU支持64位,但其官方操作系统Raspbian不是64位的。其他第三方操作系统也尚未更新以支持树莓派4。所以,如果你想在树莓派4上跑 .NET Core 3.0 ,唯一的选择是 ARM32。

准备

必需:互联网连接,用于下载 .NET Core 3.0 运行时及SDK

可选:VS / VSCode 用于开发样例工程

更新 Raspbian 系统

sudo apt-get update

sudo apt-get upgrade

建议为你的树莓派准备个显示器或 VNC 连接,以便可以在最后一步测试你的 ASP.NET Core 网站,而无需纠结端口和网络设置。

下载 .NET Core 3.0 SDK 及运行时

在你的电脑上打开 https://dotnet.microsoft.com/download/dotnet-core/3.0 找到 Linux 底下的 ARM32 版本的 SDK 及 Runtime,点开,页面上会显示一个 Direct Link。这两个链接就是我们在 Raspbian 上要用来下载最新版 SDK 及运行时的链接。

目前,这两个链接是:

.NET Core 3.0 SDK (Linux/ARM32)

https://download.visualstudio.microsoft.com/download/pr/8ddb8193-f88c-4c4b-82a3-39fcced27e91/b8e0b9bf4cf77dff09ff86cc1a73960b/dotnet-sdk-3.0.100-linux-arm.tar.gz

ASP.NET Core 3.0 Runtime (Linux/ARM32)

https://download.visualstudio.microsoft.com/download/pr/e9d4b012-a877-443c-8344-72ef910c86dd/b5e729b532d7b3b5488c97764bd0fb8e/aspnetcore-runtime-3.0.0-linux-arm.tar.gz

到树莓派上使用 wget 下载这两个文件

wget https://download.visualstudio.microsoft.com/download/pr/8ddb8193-f88c-4c4b-82a3-39fcced27e91/b8e0b9bf4cf77dff09ff86cc1a73960b/dotnet-sdk-3.0.100-linux-arm.tar.gz

wget https://download.visualstudio.microsoft.com/download/pr/e9d4b012-a877-443c-8344-72ef910c86dd/b5e729b532d7b3b5488c97764bd0fb8e/aspnetcore-runtime-3.0.0-linux-arm.tar.gz

安装 .NET Core 3.0 SDK 及运行时

创建一个新目录,如 dotnet-arm32,将刚才下载好的文件解压进去。

mkdir dotnet-arm32

tar zxf aspnetcore-runtime-3.0.0-linux-arm.tar.gz -C $HOME/dotnet

tar zxf dotnet-sdk-3.0.100-linux-arm.tar.gz -C $HOME/dotnet

目前为止,你只能在 dotnet-arm32 里执行.NET命令。要让 dotnet 命令在任何位置都能跑,需要创建一个环境变量连接指向 dotnet-arm32 文件夹。

export DOTNET_ROOT=$HOME/dotnet-arm32

export PATH=$PATH:$HOME/dotnet-arm32

现在你可以运行 dotnet --info 试一下:

在Raspbian里创建.NET Core程序

现在,我们已经有了 SDK,我们不必使用另一台计算机来开发和发布应用程序。我们可以直接在树莓派上搞。

mkdir hello-netcore3

cd hello-netcore3/

dotnet new console

工程创建完成,NuGet 还原完成后,即可用 dotnet run 命令执行程序。

甚至你也可以凑合着用 nano 作为编辑器

sudo nano Program.cs

部署和运行 ASP.NET Core 网站

在更真实的场景中。如果没有 Raspbain 上的 IDE,您就无法开发复杂的 .NET Core 应用程序。我们通常先在电脑上开发和测试我们的应用程序,然后发布到树莓派来运行。

要运行 ASP.NET Core 应用程序,首先需要发布它。例如,从 Visual Studio 2019 中,我有一个空 ASP.NET Core 应用程序,改了点Startup.cs 输出更多信息。

await context.Response.WriteAsync($"Empower every person and every organization on the planet to achieve more{Environment.NewLine}" + $".NET Core {Environment.Version}{Environment.NewLine}" + $"Environment.OSVersion: {Environment.OSVersion}{Environment.NewLine}" + $"Environment.Is64BitOperatingSystem: {Environment.Is64BitOperatingSystem}{Environment.NewLine}" + $"Environment.Is64BitProcess: {Environment.Is64BitProcess}", Encoding.UTF8);

使用 FDD + Portable 发布。因为我们树莓派上已经安装了原生运行时,因此根本无需使用 linux-arm 这个RID来发布。Portable即可运行。

把发布后的目录拷到树莓派上

现在,即可用 dotnet dll名称.dll 来跑你的 ASP.NET Core 网站

想要 Docker?

Docker Hub 上可以下载到微软官方的 .NET Core 3.0 ARM32 版运行时及SDK,如果你像我一样在树莓派上安装了docker,可以直接 docker run 欢乐多:

参考文档:https://www.hanselman.com/blog/InstallingTheNETCore2xSDKOnARaspberryPiAndBlinkingAnLEDWithSystemDeviceGpio.aspx

在树莓派4上安装 .NET Core 3.0 运行时及 SDK相关推荐

  1. 树莓派4上跑 .NET Core 3.0,这次,真·64位!

    导语 前不久我写了一篇< Gentoo 由于 Windows 10 IoT Core (以及上面的UWP们)暴尸荒野而苟且偷生使用 Linux 的我,已经彻底开荤了.最近我发现有个叫 Gento ...

  2. win10树莓派改ip_在树莓派2上安装 Windows 10

    微软在2015年4月29日发布了树莓派玩家期待已久的 Windows 10 物联网核心预览版(Windows 10 IoT Core Insider Preview Image for Raspber ...

  3. 树莓派安装win10arm linux,在树莓派3B 上安装 Windows 10 ARM 版的方法

    早先关注我们的朋友可能对<国外开发者尝试在树莓派3上运行Windows 10桌面版>有印象.本文转自 amatfan.com,文末视频来自 daveb778(感谢柠栀和刺分享),给出了如何 ...

  4. RAC分解步骤之一,在oracle linux 4u4上安装oracle 10.2.0.1.0操作日志

    练习oracle的rac组建过程,第一步,先练习4u4上安装oracle 10.2.0.1.0.直接安装rac,有些难度.从简单的做起.总RAC步骤,参照小布老师的RAC组建. 1. 启动vc,登陆v ...

  5. oracle 10741 trace,RedHat5.3上安装Oracle 10.2.0.1

    RedHat 5.3上安装Oracle 10.2.0.1 1.系统环境: RedHat 5.3 内存16G 交换分区8G 2.必须安装如下包,版本可不一样 gcc-3.2.3-2 make-3.79 ...

  6. linux rpm安装zabbix,CentOS 7上安装Zabbix Server 3.0 图文详解

    CentOS 7上安装Zabbix Server 3.0 图文详解 1.查看系统信息. cat /etc/RedHat-release CentOS Linux release 7.0.1406 (C ...

  7. 在RedHat6.9_x64上安装Oracle11g R2_11.2.0.4

    前言: 本次是在RedHat6.9_x64操作系统上安装Oracle11g R2_11.2.0.4版本. 安装RedHat6.9_X64操作系统时,有以下注意事项: 1.注意分区时swap分区大小,O ...

  8. 安装vs2019 正式版 安装 .net core 3.0 pre

     安装vs2019 正式版 及遇到的问题 安装visual studio 2019 和2017 一样是需要下载下载器,这个官网上就能直接下载: 这个是中文版的官网连接----- https://vis ...

  9. Docker 离线安装 .net Core 6.0 环境部署

    一.背景 最近参与开发一个烟草行业的项目, 由于项目的特殊性, 所有的服务器都只能访问内网, 以往使用 " docker pull images " 下载镜像的方式不可行了.只能另 ...

最新文章

  1. 在学生课堂作业作品发布之前的话
  2. 参数整定临界比例度实验_控制算法手记自动整定方法初步
  3. [原] 利用Radix树作为Key-Value 键值对的数据路由
  4. 微服务 第六章 springboot 通过Spring-data-jpa 配置Oracle数据源(简单步骤)
  5. SPOJ - SUBLEX 【后缀自动机】
  6. 【图论训练】最小拓扑序
  7. 2018-2019-2 20175105王鑫浩 实验二《Java面向对象程序设计》实验报告
  8. 《Python程序设计》在亚马逊京东当当互动出版网淘宝全面上架
  9. Python-面向对象(进阶)
  10. 联想终成全球PC第一
  11. 你实现团队管理了吗?
  12. 设计模式(三)之生成器模式(Builder Pattern)
  13. WIN11电脑如何使用IE浏览器进行正常办公操作-以建行网银为例
  14. java x86 x64_x86 版和x64版有什么区别?
  15. 软件测试之验收测试三要点
  16. 名企面试题个人总结——蘑菇街2017校园招聘(特殊交换)
  17. 凯撒密码(移位加密)
  18. 常用照片尺寸和纸张尺寸参考
  19. java入门123 pdf下载_Java入门123:一个老鸟的Java学习心得 pdf_IT教程网
  20. 关于fuse的常用启动参数

热门文章

  1. 自定义控件复选框和单选框的实现
  2. 在Windows Vista中使用符号链接
  3. TCP/IP:IP多播选路
  4. django rest framework 过滤 lim分页
  5. RabbitMQ详解(三)
  6. (部分来自windows核心编程)远程注入dll
  7. twitter达人不能不知的缩写
  8. 使用Brighter实现轻量型独立管道
  9. 想说爱你不容易 | 使用最小 WEB API 实现文件上传(Swagger 支持)
  10. Dapr + .NET 实战(十四)虚拟机集群部署 mDNS + Consul