找不到 System.Threading.Tasks.Task 方法

开发应用程序并使用两台不同的机器。据我所知,它们都在 Windows 10 (1803) 的同一版本中。就在最近,我开始在一台机器上遇到问题。该应用程序使用个人帐户身份验证,并且在登录提示时,一旦用户输入其用户名和密码并单击登录,它就会抛出以下错误:


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>>)'.

它标识为问题的代码是(最后一行):


// To enable password failures to trigger account lockout, change to shouldLockout: true

//var result = await SignInManager.PasswordSignInAsync(model.Email, model.Password, model.RememberMe, shouldLockout: false);

var result = await SignInManager.PasswordSignInAsync(model.UserName, model.Password, model.RememberMe, shouldLockout: false); // <-- this line

我已经从可疑机器上完全删除了项目并从 Git 重新克隆,但同样的问题。我查阅了我的参考资料并与它正在使用的机器进行了比较,它们都匹配。

我已经验证我在两台机器上都有相同的 NET Framework 设置:版本信息:

  • Microsoft .NET 框架版本:4.0.30319

  • ASP.NET 版本:4.7.3056.0

  • 项目目标 4.6.1


倚天杖
浏览 1175回答 3
3回答

蝴蝶刀刀

看一下PasswordSignInAsync方法CaseNotesPlus\Controllers\AccountController.cs,大概在方法上面有一个action属性。也许它有某种机器名称规范检查。

慕码人2483693

检查您的引用并确保您没有引用“gac”中的任何内容。这可以解释为什么它在一台机器上工作而不在另一台机器上工作。在我看来,您的问题与您的 ef 版本有关(身份要求的版本与游览代码引用的版本不同)。也检查你的装配绑定。
打开App,查看更多内容
随时随地看视频慕课网APP