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

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

在树莓派4上安装 .NET Core 3.0 运行时及 SDK_第1张图片

导语

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

在树莓派4上安装 .NET Core 3.0 运行时及 SDK_第2张图片

在Raspbian里创建.NET Core程序

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

mkdir hello-netcore3

cd hello-netcore3/ 

dotnet new console

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

在树莓派4上安装 .NET Core 3.0 运行时及 SDK_第3张图片

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

sudo nano Program.cs

在树莓派4上安装 .NET Core 3.0 运行时及 SDK_第4张图片

部署和运行 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即可运行。

在树莓派4上安装 .NET Core 3.0 运行时及 SDK_第5张图片

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

在树莓派4上安装 .NET Core 3.0 运行时及 SDK_第6张图片

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

在树莓派4上安装 .NET Core 3.0 运行时及 SDK_第7张图片
在树莓派4上安装 .NET Core 3.0 运行时及 SDK_第8张图片

在树莓派4上安装 .NET Core 3.0 运行时及 SDK_第9张图片

想要 Docker?

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

在树莓派4上安装 .NET Core 3.0 运行时及 SDK_第10张图片
640?wx_fmt=gif

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

640?wx_fmt=jpeg

你可能感兴趣的:(在树莓派4上安装 .NET Core 3.0 运行时及 SDK)