在Visual Studio 2008中,有一种简单的方法可以确定定义哪个类的dll?

时间:2010-01-30 15:26:06

标签: visual-studio visual-studio-2008

通过单击“转到定义”(或通过悬停)确定类的命名空间很容易,但我经常需要知道定义了什么dll,因此我可以将适当的引用添加到不同的项目中需要同样的事情。)

例如,在Silverlight中,System.Windows.Controls命名空间中有许多类,这些类分布在至少5个不同的dll中。

我最终通过反复试验弄明白,但必须有一个更简单的方法。

提前致谢。

3 个答案:

答案 0 :(得分:1)

如果该类的DLL是您的解决方案中的项目,那么您可以打开Track Active Item in Solution Explorer选项(它位于工具>选项>项目和解决方案下),因此当您在课程上进行定义时,解决方案资源管理器中的选择将自动移动到它的文件,然后您可以看到它在哪个项目中。

答案 1 :(得分:0)

如果您的命名空间命名良好(因此它们与dll名称相关),那么您应该没有问题。也许几分钟的重构您的命名空间值得考虑?

如果你“定义”,那么你可以使用save-as轻松查看它在项目中的保存位置(然后取消保存)。 (这当然依赖于您的文件夹结构与您的命名空间和程序集名称相关,但通常获取文件名就足以计算属于的项目)

编辑:(当然,这仅适用于您拥有源代码的类)

答案 2 :(得分:0)

不幸的是,我认为没有一种简单的方法可以做到这一点。我感到痛苦,因为我过去曾遇到过同样的问题。

我解决这个问题的常用方法是反射器。对于我的每个解决方案,我通常都有一个反射器配置,其中包含该解决方案中的所有DLL或由该解决方案引用。当我需要找到拥有的DLL时,我打开反射器,快速搜索名称并发现DLL。

这不是一个理想的解决方案,但它的工作原理相对较快。