无法解析符号 'Owin'

Cannot resolve symbol 'Owin'

我目前正在尝试在 AngularJS 单页应用程序中实施 AspNet.Identity 身份验证。 奇怪的是,在我的 ApplicationUserManager class 中,我想使用 Microsoft.Owin 和 Microsoft.AspNet.Identity.Owin 但在这两种情况下我都会收到 "cannot resolve symbol 'Owin'" 错误消息。

有谁知道发生了什么事吗? 我已将依赖项包含在我的 project.json 中并下载了软件包。 ApplicationUserManager class 的简化版本是这样的:

using Matimez.Models;
using Matimez.Models.Users;
using Microsoft.AspNet.Identity.Owin;  //Error message
using Microsoft.Owin;                  //Error message
using Microsoft.AspNet.Identity;
using Microsoft.AspNet.Identity.EntityFramework;


public class ApplicationUserManager : UserManager<NewUser>
{ 
    public ApplicationUserManager(IUserStore<NewUser> store)
    : base(store)
        {
        }

public static ApplicationUserManager Create(IdentityFactoryOptions<ApplicationUserManager> options, IOwinContext context)
{
    var appDbContext = context.Get<MyAppContext>();
    var appUserManager = new ApplicationUserManager(new UserStore<NewUser>(appDbContext));

    return appUserManager;
}
}

下面是我的 project.json 中的依赖项,如下所示:

  "dependencies": {
   "EntityFramework": "7.0.0-beta4",
   "EntityFramework.Commands": "7.0.0-beta4",
   "EntityFramework.SqlServer": "7.0.0-beta4",
   "MyApp.Models": "1.0.0-*",
   "MyApp.Services": "1.0.0-*",
   "Microsoft.AspNet.Diagnostics": "1.0.0-beta4",
   "Microsoft.AspNet.Diagnostics.Entity": "7.0.0-beta4",
   "Microsoft.AspNet.Identity": "3.0.0-beta4",
   "Microsoft.AspNet.Mvc": "6.0.0-beta4",
   "Microsoft.AspNet.Server.IIS": "1.0.0-beta4",
   "Microsoft.AspNet.Server.WebListener": "1.0.0-beta4",
   "Microsoft.AspNet.StaticFiles": "1.0.0-beta4",
   "Microsoft.AspNet.WebApi.Owin": "5.2.2",
   "Microsoft.Framework.CodeGenerators.Mvc": "1.0.0-beta4",
   "Microsoft.Framework.ConfigurationModel.Json": "1.0.0-beta4",
   "Microsoft.Framework.Logging": "1.0.0-beta4",
   "Microsoft.Framework.Logging.Console": "1.0.0-beta4",
   "Microsoft.Owin": "3.0.1",
   "Microsoft.Owin.Security": "3.0.1",
   "Microsoft.Owin.Security.Cookies": "3.0.1",
   "Microsoft.VisualStudio.Web.BrowserLink.Loader": "14.0.0-beta4",
   "Microsoft.AspNet.Identity.Owin": "2.2.1"

仅供参考,我使用的是 VS Community 2015

更新:

多亏了 Behnaz 的建议,我安装了必要的软件包,显然它起作用了。可能其中一个不见了。

但是现在的问题是存在于 Microsoft.AspNet.Identity 和 Microsoft.AspNet.Identity 中的 UserManager class 的模糊引用。核心.

即使我没有 Microsoft.AspNet.Identity.Core 依赖项,Microsoft.AspNet.Identity.Owin... 也引用了它,从而创建了这个奇怪的循环。此外,删除 Microsoft.AspNet.Identity 将不起作用,因为 Microsoft.AspNet.Identity.EntityFramework 中也引用了它。我该如何解决这个问题?

您需要安装一些软件包才能使用 "Owin":

Microsoft.AspNet.Identity.Owin 
Microsoft.AspNet.Identity.EntityFramework 
Microsoft.Owin.Host.SystemWeb 
Microsoft.AspNet.WebApi.Owin 
Microsoft.Owin.Security.OAuth 
Microsoft.Owin.Cors 

从工具菜单中,select 库包管理器,然后单击包管理器控制台,然后使用 Install-Package 命令安装包:

Install-Package Microsoft.AspNet.Identity.Owin 

您可以在 Adding ASP.NET Identity to an Empty or Existing Web Forms Project 中找到更多信息。