在Linux上使用xsp运行ASP.NET应用程序时缺少方法错误

isk*_*nar 9 linux asp.net mono xsp

我有ASP.NET与MVC和Razor标记网站,我想在我的Linux VPS上运行它.

我有单声道3.2.8和xsp4 3.0.0.0版本,都来自Ubuntu存储库(已安装使用apt-get install mono-complete mono-xsp4)

当我将我的网站上传到服务器并在网站的文件夹中运行xsp4时,它会启动并打印出它正在侦听端口8080.但是,当我使用我的Web浏览器导航到我的网站时,它会显示运行时错误,xsp4会将此输出到控制台

Missing method System.Web.HttpApplication::RegisterModule(Type) in assembly
/usr/lib/mono/gac/System.Web/4.0.0.0__b03f5f7f11d50a3a/System.Web.dll, referenced 
in assembly /tmp/root-temp-aspnet-0/55726984/
assembly/shadow/df4b0596/52105b83_8d5b5e15_00000001/Microsoft.Owin.Host.SystemWeb.dll

Missing method RegisterAllAreas in assembly /tmp/root-temp-aspnet-
0/55726984/assembly/shadow/dc5a60b8/51013ead_8d5b5e15_00000001/<website_name>.dll, type
System.Web.Mvc.AreaRegistration
Run Code Online (Sandbox Code Playgroud)

这是一个全新的Ubuntu 14.04安装.我正在使用Visual Studio 2013在Windows上开发我的网站.任何想法如何解决这些错误?

App*_*234 4

有关此问题的上游错误报告位于此处

在错误修复之前建议的解决方法是使用Microsoft.Web.Infrastructure.DynamicModuleHelper.DynamicModuleUtility.RegisterModule而不是HttpApplication.RegisterModule.

这里的问题描述了一个解决方法,这将是在OWIN中的PreApplicationStart.cs中进行HttpApplication.RegisterModule更改(之前的master已经有NET 4.0的相关IFDEF,但由于某种原因被还原)或包含他们指定的DLL或注册在 web.config 中手动模块。Microsoft.Web.Infrastructure.DynamicModuleHelper.DynamicModuleUtility.RegisterModule

不需要对 OWIN 进行任何代码更改的替代方案是在 Mono 中实现缺少的方法并修复错误,然后将修复程序向后移植到您的 Mono 版本。