我可以让这个问题更具体,但是,我时常遇到这个问题,最后放弃并在 S.O 上创建了这个问题。
对于这种特殊情况,我在 how to call a downstream API 上遵循 Microsoft 指南从我当前的 API
在上述文章中,我尽职尽责地从微软的 github 帐户下载了源代码..并将所需的源代码片段复制到我的项目中..
一切都准备好编译了,除了我的 Visual Studio IDE 在 this one piece of code 下放了一些小波浪线。 (只有最后一段)..
System.IdentityModel.Tokens.BootstrapContext
我已经浪费了半个小时或更多时间试图将庞大的 Nuget packages.conf
文件与我自己的文件进行比较..并且真的不想将不必要的东西移植到我自己的项目中..
是否有一些神奇的方法来辨别我需要哪个 nuget?我知道如何右键单击并 Go to definition
但是.. 有时类名和/或命名空间不是直接的死赠品
在收到您的所有好评后更新
我什至可以承认我已经从事 .NET 开发近 12 年了吗?不,我最好不要……
它一直是灰色的,这让我想到:
- 我一定已经引用过这个,否则它会有红色波浪线
- 但是,它不是粗体白色,这意味着它是不必要的
我没想到:
- “因为我有
System.IdentityModel.Tokens.Jwt
nuget,它现在是一个合法的命名空间,但我仍然没有中央 DLL” - 我也没有想到,在这个对我来说相当陌生的 OAuth token 安全世界中,当包括厨房水槽在内的其他一切都变得微不足道时,任何这些身份信息都会出现在我安装的框架中<
所以,希望你们这些 Nose 里喷着可口可乐的家伙(我能听到你们在走廊尽头的小厨房里大声狂笑)——可以停止大笑足够长的时间让兄弟们放松一下
最佳答案
在您的情况下,它看起来像是一个系统程序集 (System.IdentityModel.dll
)。但是,如果它是一个 NuGet 包,您可以通过以下方式找到它:
- 右键单击类名(不是命名空间)并选择
Go To Definition
- 在显示的文件顶部是一个
#region
,展开该区域 - 区域内是包含 dll 路径的注释,该路径内是 NuGet 包的名称。
编辑:
看起来即使在您的情况下这也可以工作,当我为 BootstrapContext
执行此操作时,评论会出现在此处:
C:\Program Files (x86)\Reference Assemblies\Microsoft\Framework\.NETFramework\v4.5\System.IdentityModel.dll
这个目录表明它可以从Add Reference
--> Assemblies
关于c# - 此命名空间需要什么 NuGet?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49309338/