【发布时间】:2016-06-01 06:12:46
【问题描述】:
我曾经在我的 Raspberry Pi 上运行一个 ASP.NET Core 1.0 RC1 项目。现在我已将项目转换为 RC2,但似乎没有任何 RC2 可用的 ARM 版本。 有人知道这个状态吗?
【问题讨论】:
标签: asp.net-core asp.net-core-1.0
我曾经在我的 Raspberry Pi 上运行一个 ASP.NET Core 1.0 RC1 项目。现在我已将项目转换为 RC2,但似乎没有任何 RC2 可用的 ARM 版本。 有人知道这个状态吗?
【问题讨论】:
标签: asp.net-core asp.net-core-1.0
我找到了解决方法。
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.使用单声道运行应用程序。
我的网络项目名称是 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
【讨论】: