I've installed Ubuntu Core 16.04 on a Raspberry PI 3 and managed to get a .NET Core console app running on it by using the instructions here and using .NET Core version 1.2.0-beta-001291-00 which is compatible with ARM chips.
When I do the same with a basic ASP.NET Core app I get the following error :
Unhandled Exception: System.IO.FileLoadException: Could not load file or assembly 'System.Component.Primitives, Version=4.2.0.0, Cultire=Neutral, PublicKeyToken=b03f5f7f11d50a3a'. The located assembly's manifest definition does not match the assembly reference. (Exception from HRESULT: 0x80131040) at Microsoft.Extensions.FileProviders.PhysicalFileError.CreateFileWatcher(String root) at Microsoft.AspNetCore.Hosting.Internal.HostingEnvironmentExtensions.Initialize>(IHostingEnvironment hostingEnvironment, String appplicationName, String contentRootPath, WebHostOptions options) at Microsoft.AspNetCore.Hosting.WebHostBuilder.BuildHostingServices() at Microsoft.AspNetCore.Hosting.WebHostBuilder.Build() at Program.Main(String[] args) in /home/freek/aspnetcore/program.cs: line 12 Aborted
Here is the contents of program.cs :
using System;
using System.IO;
using Microsoft.AspNetCore.Hosting;
using Microsoft.Extensions.Configuration;
public class Program
{
public static void Main(string[] args)
{
Console.WriteLine("Hello World API!");
var builder = new ConfigurationBuilder()
.SetBasePath(Directory.GetCurrentDirectory())
.AddJsonFile("appsettings.json", optional: true)
.Build();
var host = new WebHostBuilder()
.UseKestrel()
.UseConfiguration(builder)
.UseContentRoot(Directory.GetCurrentDirectory())
.UseStartup<Startup>()
.Build();
host.Run();
}
}
The code runs fine on a deskop with Ubuntu running .NET Core 1.1 but gives the error on a PI running .NET Core 1.2.0-beta-001291-00.
Microsoft has been matching their version numbers for all of their core projects. Most package developers are following suit. So .net core version 1.1.0 most packages that are compatible with that version are also version 1.1.0
You need to update your project dependencies to their beta versions also. If you look at your project.json and go through all the dependencies look them up on nuget.org and get their latest beta version (1.2.0-beta-something) and update the project.json version number to the one you find on nuget.org it may work. It is beta after all.
My recommendation would be to installed .net core 1.1.0 on the Raspberry Pi and then it should work fine. However if you can't do that the above should work.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With