在Mono上运行的ASP.NET应用程序的FormsAuthentication

时间:2015-05-13 17:04:05

标签: apache asp.net-mvc-4 ubuntu mono xsp

我有一个ASP.NET MVC4 Web应用程序,它是在Windows中使用Visual Studio开发的。我正在尝试将其部署到在Ubuntu上运行的Apache服务器上。 我暂时决定让它在xsp上工作,因为这似乎更容易开始。

一系列错误中的最新错误是:

Missing method System.Web.Security.FormsAuthentication::get_IsEnabled()
in assembly /usr/lib/mono/gac/System.Web/4.0.0.0__b03f5f7f11d50a3a/System.Web.dll, 
referenced in assembly /tmp/username-temp-aspnet-0/e475125c/assembly/shadow/5cf10065/81ba6702_dd4b6767_00000001/System.Web.Http.WebHost.dll

我删除了<身份验证模式=“..”> ...来自web.config文件的标签,所以我不确定为什么要尝试调用FormsAuthentication。该错误似乎来自单声道。

导致此错误的原因是什么,我需要做些什么才能修复它?

1 个答案:

答案 0 :(得分:0)

这 - 以及一系列相关的错误消息 - 是因为我安装了Mono 2和Mono 4,而Mono 2不支持MVC4,但出于某种原因是默认的。我删除并重新安装了Mono,这解决了这个特殊问题。

Could not load type 'System.Web.Http.WebHost.HttpControllerHandler' from assembly 'System.Web.Http.WebHost'
Could not load type 'System.Web.Http.AcceptVerbsAttribute' from assembly 'System.Web.Http'
Could not load type 'System.Web.Http.Controllers.HttpActionContext' from assembly 'System.Web.Http'     
Could not load type 'System.Web.Http.HttpOptionsAttribute' from assembly 'System.Web.Http' 
Could not load type 'System.Web.Http.HttpHeadAttribute' from assembly 'System.Web.Http'
Could not load type 'System.Web.Http.HttpPatchAttribute' from assembly 'System.Web.Http'

更新

如果web.config中指定的MVC(或System.Web.whatever)版本与您使用的dll之间不匹配,也会出现此问题。