24

次のコードは、Asp.Net Identity 2.0 サンプルからコピーしたものです。

private ApplicationUserManager _userManager;
public ApplicationUserManager UserManager
{
    get
    {
        return // Error 
          _userManager ?? HttpContext.GetOwinContext().GetUserManager<ApplicationUserManager>();
    }
    private set
    {
        _userManager = value;
    }
}

ただし、次のエラーが発生しますか?

エラー 3 'Microsoft.Owin.IOwinContext' には 'GetUserManager' の定義が含まれておらず、タイプ 'Microsoft.Owin.IOwinContext' の最初の引数を受け入れる拡張メソッド 'GetUserManager' が見つかりませんでした (using ディレクティブまたはアセンブリ参照?)

アップデート:

Microsoft.AspNet.Identity.Owin.dll のバージョン 2 は、...\packages\Microsoft.AspNet.Identity.Owin.2.0.1\lib\net45 に既に存在します。

ただし、HttpContext.GetOwinContext()私のプロジェクトとサンプルではビューの定義が異なります。私のプロジェクトの最初の3行は

#region アセンブリ Microsoft.Owin.Host.SystemWeb.dll、v2.0.0.0
// C:\......\packages\Microsoft.Owin.Host.SystemWeb.2.0.0\lib\net45\Microsoft.Owin.Host.SystemWeb.dll
#endregion

サンプルが

#region アセンブリ Microsoft.Owin.Host.SystemWeb.dll、v2.1.0.0
// C:\....\sample\packages\Microsoft.Owin.Host.SystemWeb.2.1.0\lib\net45\Microsoft.Owin.Host.SystemWeb.dll
#endregion

しかし、Neget を使用して、すべての Owin Nuget パッケージを最新バージョンに更新済みです。

4

1 に答える 1

83

拡張メソッドが別の名前空間に移動されました。追加してみてください

using Microsoft.AspNet.Identity.Owin;
于 2014-06-30T23:17:43.767 に答える