Vb.net Microsoft.AspNet.Identity.Owin.owincontextensions不';好像不行

Vb.net Microsoft.AspNet.Identity.Owin.owincontextensions不';好像不行,vb.net,owin,asp.net-identity-2,Vb.net,Owin,Asp.net Identity 2,我正在一个单独的程序集中创建一个自定义asp.net.identity提供程序,以便从两个不同的web api 2项目中使用它。 我以web api项目的默认vs2013模板为指导,到目前为止,我已经实现了所需的类。 在单独的程序集中,我使用的是从Microsoft.AspNet.Identity.UserManager(Of T)类派生的用户管理器类 现在我想实现createshared函数,以便在CreatePerOwinContext函数中用作回调。根据模板,我声明如下: Imports

我正在一个单独的程序集中创建一个自定义asp.net.identity提供程序,以便从两个不同的web api 2项目中使用它。 我以web api项目的默认vs2013模板为指导,到目前为止,我已经实现了所需的类。 在单独的程序集中,我使用的是从Microsoft.AspNet.Identity.UserManager(Of T)类派生的用户管理器类

现在我想实现createshared函数,以便在CreatePerOwinContext函数中用作回调。根据模板,我声明如下:

Imports System.Threading.Tasks
Imports Microsoft.AspNet.Identity
Imports Microsoft.AspNet.Identity.Owin
Imports Microsoft.Owin

Public Class EzeUserManager
    Inherits UserManager(Of EzeIdentityUser)

... Class Implementation ...

Public Shared Function Create(options As IdentityFactoryOptions(Of EzeUserManager), context As IOwinContext)
    Dim Result As New EzeUserManager(New EzeIdentityUserStore(context.Get(Of EzeLDAPContext)()))
问题是

context.Get(Of EzeLDAPContext)()
失败,因为它需要密钥

从模板中,我可以看到不需要密钥的get方法是在Microsoft.AspNet.Identity.Owin.owincontextensions中定义的扩展,我已经通过nuget安装和引用了该扩展,并将其导入到类中

但它不起作用

我发现键实际上是类的类型名,所以我可能可以克服这个问题,但是我还没有尝试,因为我真的想让扩展正常工作

问题是:我是否遗漏了什么

注:该项目是一个以.NET 4.5.1为目标的类库,具有以下参考文献:

Microsoft.AspNet.Identity.Core
Microsoft.AspNet.Identity.Owin
Microsoft.Owin
Microsoft.Owin.Security
Microsoft.Owin.Security.Cookies
Microsoft.Owin.Security.OAuth
Newtonsoft.Json
Owin

正如我在问题中所解释的,我使用的是VS生成的模板作为指导。在我的项目实施过程中,我多次更新nuget包,但只在我的项目中更新,而不在模板项目(相同的解决方案)中更新,因为我将在之后删除它。这导致两个项目引用所需程序集的两个不同版本。 我不知道这个“multi”引用究竟是如何以及为什么会导致这个问题的,但一旦我更新了模板项目的nuget包,问题就解决了

我希望这能帮助有类似问题的人

Microsoft.AspNet.Identity.Core
Microsoft.AspNet.Identity.Owin
Microsoft.Owin
Microsoft.Owin.Security
Microsoft.Owin.Security.Cookies
Microsoft.Owin.Security.OAuth
Newtonsoft.Json
Owin