web-dev-qa-db-ja.com

「Microsoft.Owin.IOwinContext」には「GetUserManager」の定義と拡張メソッドが含まれていませんか?

次のコードは、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 Assembly 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 Assembly 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パッケージを最新バージョンに更新しました。

24
ca9163d9

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

using Microsoft.AspNet.Identity.Owin;
82
Hao Kung