我已经在Raspberry PI 3上安装了Ubuntu Core 16.04,并通过使用此处的说明并使用与ARM兼容的.NET Core版本1.2.0-beta-001291-00设法在其上运行.NET Core控制台应用程序芯片.
当我使用基本的ASP.NET核心应用程序执行相同操作时,我收到以下错误:
未处理的异常:System.IO.FileLoadException:无法加载文件或程序集'System.Component.Primitives,Version = 4.2.0.0,Cultire = Neutral,PublicKeyToken = b03f5f7f11d50a3a'.定位的程序集的清单定义与程序集引用不匹配.(来自HRESULT的异常:0x80131040)Microsoft的Microsoft.AspNetCore.Hosting.Internal.HostingEnvironmentExtensions.Initialize>(IHostingEnvironment hostingEnvironment,String appplicationName,String contentRootPath,WebHostOptions选项)中的Microsoft.Extensions.FileProviders.PhysicalFileError.CreateFileWatcher(String root).位于/home/freek/aspnetcore/program.cs中的Program.Main(String [] args)中的Microsoft.AspNetCore.Hosting.WebHostBuilder.Build()的AspNetCore.Hosting.WebHostBuilder.BuildHostingServices():第12行已中止
这是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();
}
}
Run Code Online (Sandbox Code Playgroud)
代码在运行.NET Core 1.1的Ubuntu的桌面上正常运行但在运行.NET Core 1.2.0-beta-001291-00的PI上出错.