我曾经在Raspberry Pi上运行ASP.NET Core 1.0 RC1项目。现在,我已将项目转换为RC2,但似乎没有可用的ARM构建RC2。
有人知道这个状态吗?

最佳答案

我找到了解决方法。

1.将代码添加到startup.cs中,如下所示。

services.AddMvc().AddRazorOptions(options =>
        {
            if (Type.GetType("Mono.Runtime") != null)
            {
                var myAssemblyPaths = new[] {
             "/usr/lib/mono/4.5/mscorlib.dll",
             "/usr/lib/mono/4.5/System.Core.dll",
             "/usr/lib/mono/4.5/Microsoft.CSharp.dll"
             };
                var previous = options.CompilationCallback;
                options.CompilationCallback = (context) =>
                {
                    if (previous != null)
                    {
                        previous(context);
                    }

                    var references = myAssemblyPaths.Select(p => MetadataReference.CreateFromFile(p)).ToArray();
                    context.Compilation = context.Compilation.AddReferences(references);
                };
            }
        });


2.在Windows机器上构建。

3.将所有Web项目复制到linux目标,包括输出文件。

4.使用Mono运行应用程序。

我的Web项目名称是AspNetCoreMonoTest。

“ / root / AspNetCoreMonoTest”文件夹应具有project.json。

请通过以下命令执行。

cd / root / AspNetCoreMonoTest && mono bin / Debug / net451 / win7-x64 / AspNetCoreMonoTest.exe

我使用单声道版本4.4.0。并参考了https://github.com/aspnet/Mvc/issues/4818#issuecomment-224775503

关于asp.net-core - ARM上的ASP.NET Core 1.0 RC2,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/37560744/

10-13 03:15