通过单击“转到定义”(或通过悬停)确定类的命名空间很容易,但我经常需要知道定义了什么dll,因此我可以将适当的引用添加到不同的项目中需要同样的事情。)
例如,在Silverlight中,System.Windows.Controls命名空间中有许多类,这些类分布在至少5个不同的dll中。
我最终通过反复试验弄明白,但必须有一个更简单的方法。
提前致谢。
答案 0 :(得分:1)
如果该类的DLL是您的解决方案中的项目,那么您可以打开Track Active Item in Solution Explorer
选项(它位于工具>选项>项目和解决方案下),因此当您在课程上进行定义时,解决方案资源管理器中的选择将自动移动到它的文件,然后您可以看到它在哪个项目中。
答案 1 :(得分:0)
如果您的命名空间命名良好(因此它们与dll名称相关),那么您应该没有问题。也许几分钟的重构您的命名空间值得考虑?
如果你“定义”,那么你可以使用save-as轻松查看它在项目中的保存位置(然后取消保存)。 (这当然依赖于您的文件夹结构与您的命名空间和程序集名称相关,但通常获取文件名就足以计算属于的项目)
编辑:(当然,这仅适用于您拥有源代码的类)
答案 2 :(得分:0)
不幸的是,我认为没有一种简单的方法可以做到这一点。我感到痛苦,因为我过去曾遇到过同样的问题。
我解决这个问题的常用方法是反射器。对于我的每个解决方案,我通常都有一个反射器配置,其中包含该解决方案中的所有DLL或由该解决方案引用。当我需要找到拥有的DLL时,我打开反射器,快速搜索名称并发现DLL。
这不是一个理想的解决方案,但它的工作原理相对较快。