次のコードは、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パッケージを最新バージョンに更新しました。
拡張メソッドが別の名前空間に移動されました。追加してみてください
using Microsoft.AspNet.Identity.Owin;