无法添加 System.IdentityModel package/reference

Can't Add System.IdentityModel package/reference

长话短说,我想为我的 WCF 服务创建身份验证。

目标框架:.NET 4.5。

我正在关注这个 User Name Password Validator

我正在尝试继承 UserNamePasswordValidator class 但 VS2013 一直给我这个错误:

我的代码:

 public class UserNamePassValidator : System.IdentityModel.UserNamePasswordValidator
{
}

我遇到的错误:

Error 1 The type or namespace name 'IdentityModel' does not exist in the namespace 'System' (are you missing an assembly reference?)

我尝试了几种不同的方法来解决这个问题:(none 其中帮助了我)

  1. 我已经安装了 Windows Identity Foundation 和 WIF SDK。
  2. 我已经使用此路径手动添加了 dll:C:\Program Files\Reference Assemblies\Microsoft\Windows Identity Foundation\v3.5\ Microsoft.IdentityModel.dll
  3. 我尝试在 Nuget 程序包管理器中搜索该程序包,但没有找到任何结果,只有 System.IdentityModel.Token(我也引用了它,但没有帮助)。

我在这里错过了什么?它可能是显而易见的,但我没有看到...

如果Target Framework 是4.5,则没有要下载的包才能使用WIF。 System.IdentityModel 完全集成到 Framework 4.5,它是 WIF 在定位 Framework 4.5 及更高版本时使用的类型。

此外,您应该继承此类型:System.IdentityModel.Selectors.UserNamePasswordValidator:

public class UserNamePassValidator : System.IdentityModel.Selectors.UserNamePasswordValidator
{
 public override void Validate(string userName, string password)
    {
        return;
    }
}​

您可以参考以下链接:

1- UserNamePasswordValidator

2- What do I need to build a claims-aware wcf service in VS 2013