这个命名空间需要什么NuGet?

bkw*_*ign 1 c# claims-based-identity nuget

我可以更具体地提出这个问题,但是,我不时地遇到这个问题,并最终放弃并在SO上创建了这个问题

对于这种特殊情况,我遵循Microsoft有关如何从当前API 调用下游API的指导

在上述文章中,我尽职地从Microsoft的github帐户下载了源代码..并将所需的源代码片段复制到我的项目中.

一切都准备好编译,除了我的Visual Studio IDE在这一段代码(只有最后一段)下放置了一些小错误.

System.IdentityModel.Tokens.BootstrapContext

我已经浪费了半小时或更长的时间来尝试将大量的Nuget packages.conf文件与我自己的文件进行比较..并且真的不想将超过必要的数据移植到我自己的项目中.

是否有某种神奇的方法来辨别WHICH的NuGet我需要什么?我知道如何右键单击Go to definition但是..有时候类名和/或命名空间不是一个直接的死亡赠品


所有你的评论之后更新


难道我甚至承认我已经做了近12年的.NET开发?不,我最好不要......

我会说,在我的辩护中,我确实把它放在我的使用中.. System.IdentityModel

而它一直是灰色的,这让我想到:

  • 我一定已经引用了这个,否则就会有红色的曲线
  • 但是,它不是大胆的白色,这意味着它是不必要的

它没有发生在我身上:

  • "因为我有System.IdentityModel.Tokens.Jwtnuget,它现在是一个合法的命名空间,但我还没有中央DLL"
  • 我也没想到,在这个相当新的OAuth令牌安全世界中,当包括厨房水槽在内的所有其他东西都是一个小小的东西时,任何这个身份的东西都会出现在我已安装的框架中

所以,希望你们可口可乐喷在鼻子上的人(我可以听到你们在大厅里的厨房里发出响亮的笑声) - 可以停止笑得足够长,以便让一个兄弟懈怠

Mik*_*keH 5

在你的情况下,它看起来像是一个系统程序集(System.IdentityModel.dll).但是,如果它是NuGet包,您可以通过以下方式找到哪一个:

  1. 右键单击类名(不是命名空间)并选择 Go To Definition
  2. 在显示的文件的顶部是a #region,展开该区域
  3. 在该区域内是一条注释,其中包含dll的路径,该路径中的路径是NuGet包的名称.

编辑:看起来即使在你的情况下,这将工作,当我这样做的评论在BootstrapContext这里:

C:\Program Files (x86)\Reference Assemblies\Microsoft\Framework\.NETFramework\v4.5\System.IdentityModel.dll
Run Code Online (Sandbox Code Playgroud)

此目录表明它可从Add Reference- >获得Assemblies