XSP 可以运行 ASP.NET 4.5 吗?

Posted

技术标签:

【中文标题】XSP 可以运行 ASP.NET 4.5 吗?【英文标题】:Can XSP run ASP.NET 4.5? 【发布时间】:2013-12-17 05:28:22 【问题描述】:

我几天来一直在尝试在 Mono 下启动 MVC5(取决于 .NET 4.5),但没有成功。

配置

干净安装最新的 Lubuntu 没有以前的 XSP/Mono 从最新的 git 源编译和安装 XSP/Mono 单声道版:3.2.7

问题

当我在任何文件夹上运行xsp4 时,它会显示Version Information: 3.2.7 (master/1eef047 C nov 28 18:16:30 EET 2013); ASP.NET Version: 4.0.30319.17020

最新的 Mono 版本支持 .NET 4.5,XSP 支持吗? 如果是这样,我如何确保它使用的是 4.5 而不是 4.0?

即使我直接从 Mono 4.5 文件夹 (/usr/lib/mono/4.5/xsp4.exe) 运行 XSP,它也显示 ASP.NET 版本是 4.0。

另外,/usr/bin/xsp4 中的 XSP 配置行看起来像这样。我很困惑。

#!/bin/sh
exec /usr/bin/mono $MONO_OPTIONS "/usr/lib/mono/4.5/xsp4.exe" "$@"

【问题讨论】:

it doesn't work对于***来说不是一个足够清晰的陈述,请描述为什么你认为它不起作用?它会引发错误吗?页面在浏览器中是否显示为空白?是什么让你认为它不起作用? @knocte 它运行ASP.NET Version: 4.0.30319.17020,我需要ASP.NET Version: 4.5...。没有错误。这个版本不是我所期望的。 你是如何提取版本信息的? 在我的 Mono 实例中,我必须将我的符号链接更新为正确版本的 Mono。这可能是您查看的起点。 @knocte 因为它在空文件夹上显示 404 异常,所以它在底部为我提供了有关单声道和 .net 版本的信息,就像在每个标准异常中一样。 【参考方案1】:

您可以使用 --runtime 标志指示 mono 启动特定的运行时版本。在这种情况下,它会是这样的:

#!/bin/sh
exec /usr/bin/mono $MONO_OPTIONS --runtime=v4.5 "/usr/lib/mono/4.5/xsp4.exe" "$@"

但是,据我了解,.NET 的 4.5 配置文件不包括运行时中的更改,而是类库和编译器中的更改。因此,如果上述方法不起作用,则仅表示运行 4.5 应用程序所需的运行时版本就是 4.0.30319 版本。

理解这一点的最佳方法是包含这个从Scott Hanselman's blog post 抓取的小图像:

【讨论】:

WARNING: The runtime version supported by this application is unavailable.。无论如何,我认为您可能是对的,它可以运行 .NET 4.5 网站。我不知道如何测试它。 是的,我只是用不同的堆栈(不是 MVC5)对其进行了测试,它确实可以正常工作。我还通过检查System.Reflection.ReflectionContext 是否存在来确保它在下面运行.NET 4.5。确实如此。非常感谢!【参考方案2】:

您可以运行 MVC 的唯一机会是安装单声道 3.4.0。 单声道 3.2.7 不适用于 MVC5

【讨论】:

你是对的。但是来自 git 的 newset mono 仍然不支持 MVC5。 (属性路由,小写 url,其他东西..)【参考方案3】:

我已经在mono 3.4.0 中遵循了这一点,并在MonoDevelop 下成功设置了一个非常简单的MVC5,

http://curtis.schlak.com/2014/02/04/setup-asp-net-mvc-4-on-monodevelop-4.2.html

【讨论】:

以上是关于XSP 可以运行 ASP.NET 4.5 吗?的主要内容,如果未能解决你的问题,请参考以下文章

如何使用 Mono 在 XSP 上运行 .NET 4.5?

ASP.NET 4.5 尚未在 Web 服务器上注册

无法打开程序集“/usr/lib/mono/4.5/xsp2.exe”:没有这样的文件或目录

使用 ssl 的 ASP.net 4.5 Websocket 加密

linux+apache能运行asp.net程序吗?应该如何设置?

限制 ASP.NET 4.5 中 WebSocket 的性能因素?