Mod_Mono + ASP MVC 5 Framework 4.5 - System.Web.Security.MembershipPasswordAttribute错误

时间:2014-04-30 14:55:03

标签: c# asp.net-mvc mod-mono system.web

美好的一天。尝试在mod_mono上运行asp mvc。看起来没问题,但是当我尝试去登录页面时看到500内部错误:

  

System.TypeLoadException无法加载类型   程序集中的“System.Web.Security.MembershipPasswordAttribute”   'System.Web,Version = 4.0.0.0,Culture = neutral,   公钥= b03f5f7f11d50a3a”。

     

描述:HTTP 500.Error处理请求。

     

详细信息:非Web异常。例外来源(申请名称或   object):System.Web.Mvc。

     

异常堆栈跟踪:at   System.Web.Mvc.DataAnnotationsModelValidatorProvider..cctor()   [0x00000] in:0

使用身份验证模式“表单”。

项目文件:

    Microsoft.Web.Infrastructure.dll
    System.Web.Helpers.dll
    System.Web.Mvc.dll
    System.Web.Razor.dll
    System.Web.WebPages.Deployment.dll
    System.Web.WebPages.dll
    System.Web.WebPages.Razor.dll

存在于bin文件夹中

可能有人解决了这个问题吗? 感谢。

1 个答案:

答案 0 :(得分:3)

这是因为运行时尚未实现System.Web.Security.MembershipPasswordAttribute(截至2014年5月12日)。您可以在http://www.go-mono.com/status/status.aspx?reference=4.5&profile=4.5&assembly=System.Web

查看需要完成的工作

你可以实现自己的。如果您使用的是Mono版本3.4,那么您应该从3.4分支获取代码。类库位于[mono-code-root] / mcs / class /

您将看到System.Web.Security.MembershipPasswordAttribute不存在(也可能是System.ComponentModel.DataAnnotations.UrlAttribute)。您必须创建这些类并确保它们有效。然后制作并安装它。

您可以在此处查看更多信息:http://www.mono-project.com/Contributing#Contributing_to_the_Class_Libraries 同样在这里:http://blog.neteril.org/blog/2013/08/11/the-very-basic-guide-to-contribute-to-mono-bcl/

我在尝试使用Mac上的Mono开发MVC5项目时遇到了这个问题。我有代码,你可以从这里得到它:https://github.com/nonagon-x/mono/tree/mono-3.4.0-mvc5-support如果你使用单声道3.4.0

请注意我添加的代码不适用于制作。我刚才能够在我的Mac上开发MVC5。那里没有NUnit测试。所以不要将它用于生产。