UserManager.Create:mscorlib.dll中发生类型'System.MissingMethodException'的异常,但未在用户代码中处理 - c#

我目前正在Visual Studio Express 2013 for Web中构建网站,并且使用默认的成员资格功能供用户注册。但是,当我在localhost上打开网站并尝试注册用户时,收到以下错误:

An exception of type 'System.MissingMethodException' occurred in mscorlib.dll 
but was not handled in user code

Additional information: Method not found: 'System.Threading.Tasks.Task`1<!!0>
System.Data.Entity.QueryableExtensions.FirstOrDefaultAsync(System.Linq.IQueryable`1<!!0>,
System.Linq.Expressions.Expression`1<System.Func`2<!!0,Boolean>>)'.

这是我的浏览器中的堆栈跟踪:

[MissingMethodException: Method not found: 'System.Threading.Tasks.Task`1<!!0> System.Data.Entity.QueryableExtensions.FirstOrDefaultAsync(System.Linq.IQueryable`1<!!0>, System.Linq.Expressions.Expression`1<System.Func`2<!!0,Boolean>>)'.]
   Microsoft.AspNet.Identity.EntityFramework.UserStore`6.GetUserAggregateAsync(Expression`1 filter) +0
   Microsoft.AspNet.Identity.EntityFramework.UserStore`6.FindByNameAsync(String userName) +1071
   Microsoft.AspNet.Identity.UserManager`2.FindByNameAsync(String userName) +177
   Microsoft.AspNet.Identity.<ValidateUserName>d__4.MoveNext() +803
   System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task) +93
   System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task) +52
   System.Runtime.CompilerServices.TaskAwaiter.GetResult() +21
   Microsoft.AspNet.Identity.<ValidateAsync>d__0.MoveNext() +468
   System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task) +93
   System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task) +52
   System.Runtime.CompilerServices.TaskAwaiter`1.GetResult() +24
   Microsoft.AspNet.Identity.CultureAwaiter`1.GetResult() +123
   Microsoft.AspNet.Identity.<CreateAsync>d__0.MoveNext() +795
   System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task) +93
   System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task) +52
   System.Runtime.CompilerServices.TaskAwaiter`1.GetResult() +24
   Microsoft.AspNet.Identity.CultureAwaiter`1.GetResult() +123
   Microsoft.AspNet.Identity.<CreateAsync>d__d.MoveNext() +970
   System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task) +93
   System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task) +52
   System.Runtime.CompilerServices.TaskAwaiter`1.GetResult() +24
   Microsoft.AspNet.Identity.AsyncHelper.RunSync(Func`1 func) +409
   Microsoft.AspNet.Identity.UserManagerExtensions.Create(UserManager`2 manager, TUser user, String password) +260
   Account_Register.CreateUser_Click(Object sender, EventArgs e) in c:\Users\Matthew\Documents\College\Senior\CSE 448\Capstone\Capstone\Account\Register.aspx.cs:14
   System.Web.UI.WebControls.Button.OnClick(EventArgs e) +9628026
   System.Web.UI.WebControls.Button.RaisePostBackEvent(String eventArgument) +103
   System.Web.UI.WebControls.Button.System.Web.UI.IPostBackEventHandler.RaisePostBackEvent(String eventArgument) +10
   System.Web.UI.Page.RaisePostBackEvent(IPostBackEventHandler sourceControl, String eventArgument) +13
   System.Web.UI.Page.RaisePostBackEvent(NameValueCollection postData) +35
   System.Web.UI.Page.ProcessRequestMain(Boolean includeStagesBeforeAsyncPoint, Boolean includeStagesAfterAsyncPoint) +1724

引发异常的代码用星号标记:

protected void CreateUser_Click(object sender, EventArgs e)
    {
        var manager = new UserManager();
        var user = new ApplicationUser() { UserName = UserName.Text };

        *****IdentityResult result = manager.Create(user, Password.Text);
        if (result.Succeeded)
        {
            IdentityHelper.SignIn(manager, user, isPersistent: false);
            IdentityHelper.RedirectToReturnUrl(Request.QueryString["ReturnUrl"], Response);
        }
        else
        {
            ErrorMessage.Text = result.Errors.FirstOrDefault();
        }
    }

我已经搜索了一段时间,但似乎找不到解决方案。我尝试更新所有参考,但无济于事。有人遇到过这种情况么?

参考方案

得到它了! FirstOrDefaultAsync扩展方法仅存在于.Net 4.5实体框架程序集中。在不同的项目中,我混合使用了.Net 4.0和.Net 4.5。当我将它们全部更改为.Net 4.5时,可以使用Async代码。

无法将类型'System.ValueType'隐式转换为'int?' - c#

我有一个C ++ / CLI包装器类,可在C#和本机C ++之间互操作。我收到与System.Nullable相关的奇怪错误。我了解,对于基本类型,System.Nullable<T>等效于T?。所以我这样做:C#:public int? RoboticsArmRotation { get { return mRobotics.ArmRotati…

如何解析Dapper System.Data.DataException HResult = 0x80131501 InvalidCastException从'System.String'到'System.Uri'的无效转换 - c#

最近,我重构了一些代码,这些代码导致将实体的某些属性的类型从System.String更改为System.URI。有问题的属性名称包含子字符串URI或URL,并且SonarLint静态代码分析器建议将代码重构为对这些属性使用System.URI类型而不是System.String,这在我们的解决方案中很有意义。在这个项目中,我们利用StackExchange…

将'System.Collections.Generic.IEnumerable <string>'转换为'string [] - c#

我在转换一段代码以使其与.NET3.5兼容时遇到问题。static Dictionary<string, object> dictionary = new Dictionary<string, object> { {"key","value"}, {"key2","…

将字符串分配给numpy.zeros数组[重复] - python

This question already has answers here: Weird behaviour initializing a numpy array of string data                                                                    (4个答案)         …

AttributeError:'AnonymousUserMixin'对象没有属性'can' - python

烧瓶学习问题为了定制对匿名用户的要求,我在模型中设置了一个类: class MyAnonymousUser(AnonymousUserMixin): def can(self, permissions): return False def is_administrator(self): return False login_manager.anonymous…