![](/img/trans.png)
[英]Visual studio does not exist in the namespace, but reference is added
[英]Find reference for namespace in Visual Studio
我正在研究 ac# 项目。 它引用了很多包,还有一些包引用了其他包。 所以程序中使用的命名空间不一定来自直接引用。 对于特定的 using 语句,有没有办法找出它源自哪个引用(通过引用,我的意思是外部 DLL/NuGet 包)? 谢谢你。
例如,项目引用名为 Package1 的 Nuget 包。 在 Package1 中,我们有名为 Namespace1 的命名空间。 然后 Package1 引用 Package2,它有一个名为 Namespace2 的命名空间。 在您的代码中,您可以拥有
using Namespace2;
但是您如何知道哪个程序集或 Nuget Package Namespace2 源自(在本例中为 Package1)?
我不知道在Visual Studio中执行此操作的本机方法。 但是, JetBrains ReSharper可以做到这一点。 请注意,单个名称空间导入并不绑定到单个程序集。 导入名称空间(使用语句)可以轻松地将几个不同程序集中的类型引入作用域。
有了ReSharper,我只需选择名称空间并按F12。 您可以看到System.Collections.Generic
在此项目引用的四个程序集中定义。
我在 Visual Studio 2019 中尝试了harlam357 的答案,但失败了(下图)。
1.
然后,我做了一个技巧。 我将引用转换为注释,发现实现方法的错误行属于命名空间。 通过这个方法我得到了根引用。
2.
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.