.NET Core 准备好在 Raspberry PI 3 上运行了吗?

Posted

技术标签:

【中文标题】.NET Core 准备好在 Raspberry PI 3 上运行了吗?【英文标题】:Is .NET Core ready to run on Raspberry PI 3? 【发布时间】:2017-01-26 10:02:37 【问题描述】:

我可以找到很多过时的线程,但最近几个月已经更改了很多。

目前是否有可能在带有 Raspbian(目前是 Jessie)没有 Mono 的情况下在 Raspberry 上运行 .NET Core 和/或 ASP.NET Core?或者我需要什么?

我可以找到一些 dnvm 示例,但我找不到一个最新且使用 dotnet cli 的教程。我知道 Windows 10 IoT 计划用于 v1.1.0,但我找不到任何基于 ARM 的 CPU。在 Raspbian 上也没有 ASP.NET Core 的 Docker 示例...

即使http://dot.net 仅显示 Homebrew 安装命令,但如何在没有 Homebrew 的 Raspbian / Linux 上安装 .NET Core 1.0.1。

【问题讨论】:

三星一直在与微软合作开发 ARM 端口,但我认为这还没有结束。 您可以在这里关注进度github.com/dotnet/coreclr/issues/3977 【参考方案1】:

.NET Core 计划在 2016 年第四季度/2017 年第一季度在基于 ARM 的操作系统上运行,例如 Raspian / Windows 10 IoT。 https://blogs.msdn.microsoft.com/dotnet/2016/07/15/net-core-roadmap/

目前,我认为您可以按照 Debian 的安装进行操作,但您应该获得 exec format error IIRC。

编辑 3/10/17:第一个官方指令现已上线:https://github.com/dotnet/core/blob/master/samples/RaspberryPiInstructions.md

【讨论】:

@MohammedNoureldin 我会说是的。 .NET Core 现在在 ARM 上运行 github.com/dotnet/core/blob/master/samples/… @MohammedNoureldin Mono 与 .NET Core 无关。 Mono 是 DNX 的基础,但在 .NET Core 中被删除。现在这种情况下没有依赖关系。 @MohammedNoureldin 你没看我的链接github.com/dotnet/core/blob/master/samples/… 吗?这是当前状态,就像一个魅力。 你问过“ASP.NET Core 会很快出现吗?”我说是。但不幸的是,目前不支持它,我不知道目前有人可以在 ARM 上设置 ASP.NET Core。 @MohammedNoureldin github.com/dotnet/core/blob/master/samples/… 第一次正式指示【参考方案2】:

现在您可以在 Raspberry PI 3 上运行 dotnet 核心应用程序,而无需安装 Mono。

我设法在无头 Ubuntu Server 16.04 和 Ubuntu Mate 16.04 上运行复杂的应用程序。

您所要做的就是获取 coreclr 和 corefx 交叉编译的构建输出,删除私有和预编译的 dll,并将您的托管 dll 与它们一起放在 PI 上。

然后您可以使用“corerun”可执行文件运行它。

(我在该视频上发布了一个视频,但在这里发布似乎是非法的)

无论如何,回答您的问题:现在可以在 RPI3 上运行 dotnet 核心应用程序,尽管它尚未发布。

【讨论】:

你能给我一些关于如何找到视频的关键字吗?我对此真的很感兴趣,但我发现要么已经过时,要么适用于 Windows IoT。 尝试在 youtube 上找到这个:在 Raspberry PI 上设置 RavenDB(hibernatingrhinos、ravendb、raspberry pi)。无论如何,我们也已经设法在 Raspbian 上运行 dotnet core(raspbian 比用于 rpi3 的非官方 ubuntu 服务器稳定得多,恕我直言) @NicolasR 这里是关于如何在树莓派上运行 .net 核心的链接:dotnetcorechris.github.io/dotnetcoreonraspberrypi.html @DamianGalletini 您的评论应该是当前答案。【参考方案3】:

您可以按照 Peter Marcu 在此处的说明在 Raspberry Pi 2 或 3 上获得(看似)稳定的 .Net Core 版本:https://github.com/dotnet/core/blob/master/samples/RaspberryPiInstructions.md

你不需要使用“corerun”,你可以使用“dotnet”。你在你的开发机器上构建并复制到你的 Pi。

更新:我现在意识到原来的问题特别提到了 Rasbian (Jessie)。该链接上的方法需要 Ubuntu 14.04 或 16.04。但是,如果这不是问题,我认为你应该很高兴。

【讨论】:

在这里查看我对@emseetea 的评论:***.com/questions/26907857/… - 你可以在 Raspbian/Jessie 上运行 dotnet core。基本上,交叉编译 coreclr+fx 以及 apt-get 安装 gcc-5 和 libicu57(来自“scratch”源)使其在 Rasbian OS 上发生。它可能与 github.com/dotnet/core/blob/master/samples/… 二进制文件以及 gcc-5 和 libicu57 一起工作(我没有尝试过)。我可以补充一下:Rasbian“感觉”在 Pi 上使用 dotnet 核心比使用 Ubuntu 更稳定(无意冒犯)【参考方案4】:

对于 1.0 版本的正式发布,no。目前唯一可用于 ARM 的运行时是 Windows ones。

此外,Homebrew 适用于 OSX。您将来希望在 Raspbian 上看到的是 Debian instructions。

【讨论】:

谢谢,我会检查的。目前,.NET Core 的文档还不是很整洁.. :-(

以上是关于.NET Core 准备好在 Raspberry PI 3 上运行了吗?的主要内容,如果未能解决你的问题,请参考以下文章

使用 .Net Core 在 Raspberry Pi 上使用蓝牙 LE

.NET Core Docker Image for Linux-arm (Raspberry pi)

Raspberry Pi起步(Snappy Ubuntu Core)

.net core 发送邮件

net core开发环境准备

.NET Core HttpClientFactory+Consul实现服务发现