是否可以在Raspberry PI上运行.NET Core?

时间:2014-11-13 11:27:54

标签: .net raspberry-pi .net-core

我听说.NET Core也可以在Linux和Mac上运行。我目前在Raspberry PI上使用Mono。是否有可能或者是否可以在Raspberry PI上运行.NET Core?

6 个答案:

答案 0 :(得分:14)

我已经设法使用Raspbian在Raspberry PI 3上运行.NET Core 2应用程序。

我已关注https://github.com/dotnet/core/blob/master/samples/RaspberryPiInstructions.mdhttps://github.com/dotnet/core/issues/447

在我的笔记本电脑上:

安装.NET Core 2.0 SDK

运行

mkdir helloworld
cd helloworld
dotnet new console

修改helloworld.csproj

<Project Sdk="Microsoft.NET.Sdk">

  <PropertyGroup>
    <OutputType>Exe</OutputType>
    <TargetFramework>netcoreapp2.0</TargetFramework>
    <RuntimeIdentifiers>win-arm;linux-arm</RuntimeIdentifiers>
  </PropertyGroup>

</Project>

运行

dotnet publish -r linux-arm

在Raspberry PI 3上使用Raspbian:

运行sudo apt-get install libc6 libcurl3 libgcc1 libgssapi-krb5-2 libicu52 liblttng-ust0 libssl1.0.0 libstdc++6 libunwind8 libuuid1 zlib1g

然后从我的笔记本电脑中复制./bin/Debug/netcoreapp2.0/linux-arm/publish

[{1}}的修改权限

运行helloworld

答案 1 :(得分:8)

现在,您可以在Raspberry PI上运行dotnet核心。 为此,您需要:

  1. 交叉编译coreclr&amp; corefx(可能在Linux x64机器上)
  2. 在没有私有和预编译文件的情况下将dll提取到PI
  3. 将您应用的托管dll复制到PI
  4. 使用“corerun”可执行文件来运行您的应用
  5. 如果你想跳过上面的内容并获得Raspberry PI 3(甚至是整个图像)的现成二进制文件,你可以使用我编译的版本:

    http://ravendb.net/promo/xmas-win-raspberry-pi

    注意: 我能够在Raspberry PI 3上使用Headless Ubuntu Server 16.04和Ubuntu Mate 16.04。我假设需要在Raspbian OS和PI 2上完成额外的步骤(即安装额外的包)。

    交叉编译的链接(在Ubuntu 16.04 x64机器上):

    我用“如何”获取二进制文件(包括我们的应用程序)制作的视频:

    https://www.youtube.com/watch?v=DPxCVDOUlT8

答案 2 :(得分:7)

现在或很快就可以实现,因为announced可以使用Microsoft GitHub CoreCLR。

  

今天,.NET Core在Windows上构建并运行。我们将在未来几个月内添加特定于平台的组件的Linux和Mac实现。我们已经在.NET Core中有一些特定于Linux的代码,但我们真的只是开始使用我们的端口。我们想先打开代码,这样我们才能从一开始就享受跨平台的旅程。

答案 3 :(得分:6)

我会发表评论,但由于我不能发布作为答案,我认为应该更新已接受的答案。因为现​​在可以检查到coreclr https://github.com/dotnet/coreclr/pull/1210

这完全是社区的努力,虽然这仍然非常粗糙(尚未支持异常处理和调试),所以你不能把它作为一个解决方案,但最终它会到达那里。 日期:2015年7月26日

答案 4 :(得分:3)

Microsoft已经提供了.NET Core的源代码。对于实际的Linux或其他非Windows实现,您很可能仍会使用Mono或其中一个Xamarin产品。因为它们包含更广泛的支持而不仅仅是核心功能。 Xamarin正在使用.NET核心源并使用它来修复.NET实现中的漏洞和漏洞。微软也正在使Visual Studio Mono / Xamarin变得友好,它还将配备Xamarin的试用/基础产品,用于在尚未发布的VS版本中进行移动开发。

请参阅http://tirania.org/blog/

编辑 - &gt;此外,听起来微软正在为电路板做免费版Windows 10。这也将运行.Net。

答案 5 :(得分:1)

  

是否可以或者可以在Raspberry PI上运行.NET Core?

尚未AFAIK,但CoreCLR至少包含某些版本的ARM体系结构的代码。 Raspberry Pi 2将是一个更好的选择。