可以在Raspberry PI上运行.NET Core吗?
我听说.NET Core可以在Linux和Mac上运行。 我目前在树莓派上使用Mono。 是否有可能或将有可能在Raspberry PI上运行.NET Core?
现在或即将发布,因为微软宣布 CoreCLR在GitHub上可用 。
今天,.NET Core在Windows上构build和运行。 我们将在接下来的几个月里添加特定于平台的组件的Linux和Mac实现。 我们在.NET Core中已经有了一些特定于Linux的代码,但是我们真的只是开始使用我们的端口。 我们首先要打开代码,以便我们都能从一开始就享受跨平台的旅程。
现在,您可以在Raspberry PI上运行dotnet核心。 为了做到这一点,你需要:
- 交叉编译coreclr&corefx(可能在Linux x64机器上)
- 将没有专用和预编译文件的dll解压缩到PI
- 将您的应用程序的托pipedll复制到PI
- 使用“corerun”可执行文件来运行你的应用程序
如果你想跳过上面的内容,并得到树莓派3(或甚至整个图像)的现成的二进制文件,你可以使用我的编译版本:
http://ravendb.net/promo/xmas-win-raspberry-pi
注意:我可以在Raspberry PI 3上使用Headless Ubuntu Server 16.04和Ubuntu Mate 16.04。 我认为需要在Raspbian操作系统和PI 2上完成额外的步骤(即安装额外的软件包)。
Cross Compilation的链接(在Ubuntu 16.04 x64机器上):
- coreclr: https : //github.com/dotnet/coreclr/blob/master/Documentation/building/cross-building.md
- corefx: https : //github.com/dotnet/corefx/blob/master/Documentation/building/cross-building.md
我用“如何”获取二进制文件(包括我们的应用程序)制作的video:
我会发表评论,但因为我不能作为回答张贴,我认为接受的答案应该更新。因为这是可能的,因为这是检查到coreclr https://github.com/dotnet/coreclr/pull / 1210
尽pipe这仍然非常粗糙(exception处理和debugging还没有得到支持),但这是所有社区的努力,所以你不可能将它作为一个解决scheme,但最终它会到达那里。 date:7/26/2015
我已经设法与Raspbian在Raspberry PI 3上运行.NET Core 2应用程序。
在我的笔记本上:
安装.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 restore dotnet publish -r linux-arm
与Raspbian的Raspberry PI 3:
运行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
[修改helloworld
权限]
运行./helloworld
微软已经提供了.NET Core的来源。 对于实际的Linux或其他非Windows实现,您很可能仍然使用Mono或Xamarin产品之一。 因为它们包含比核心function更广泛的支持。 Xamarin正在使用.NET核心资源,并使用它来修复.NET实现中的漏洞和错误。 微软也正在使Visual Studio Mono / Xamarin友好,它将与Xamarin的试用/基础产品一起用于移动开发中,但尚未发布VS版本。
编辑 – >另外,这听起来像微软正在做的董事会的Windows 10的免费版本。 这也将运行。净。
是否有可能或将有可能在Raspberry PI上运行.NET Core?
还没有AFAIK,但CoreCLR至less有一些版本的ARM架构的代码。 树莓派2将是一个更好的select。