前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >在树莓派4上安装 .NET Core 3.0 运行时及 SDK

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

作者头像
Edi Wang
发布2019-10-01 13:31:47
5.1K0
发布2019-10-01 13:31:47
举报
文章被收录于专栏:汪宇杰博客汪宇杰博客

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

导语

我最近买了个树莓派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

本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2019-09-29,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 汪宇杰博客 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
相关产品与服务
容器服务
腾讯云容器服务(Tencent Kubernetes Engine, TKE)基于原生 kubernetes 提供以容器为核心的、高度可扩展的高性能容器管理服务,覆盖 Serverless、边缘计算、分布式云等多种业务部署场景,业内首创单个集群兼容多种计算节点的容器资源管理模式。同时产品作为云原生 Finops 领先布道者,主导开源项目Crane,全面助力客户实现资源优化、成本控制。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档