给定Visual Studio中的一个类,如何找出包含它的dll?

时间:2015-09-03 14:58:32

标签: c# .net visual-studio dll .net-assembly

修改现有的.NET项目。给定Visual Studio中的C#类,如何找出具有它的DLL?

问题是我想在新项目中使用此类中的方法,因此我需要找到正确的DLL作为新项目的参考。

4 个答案:

答案 0 :(得分:5)

在对象浏览器中搜索您的班级名称(菜单视图 - >对象浏览器)。 程序集信息窗口将包含dll完整路径。

答案 1 :(得分:2)

您可以在项目属性中看到程序集。 DLL的输出名称(类库项目生成的名称)在那里指定。

答案 2 :(得分:1)

有一些工具如ReSharper会建议添加using语句,甚至添加对项目的引用。你似乎没有这样的东西。

添加Microsoft类的引用

在那种情况下(在我使用工具之前),我谷歌搜索

class <ClassName> site:msdn.microsoft.com

e.g。

class Process site:msdn.microsoft.com

带我到Process class。在MSDN页面上,它列出了命名空间和程序集:

Namespace:  System.Diagnostics
Assembly:  System (in System.dll)

在不同的项目中添加自己类的引用

  • 打开课程定义(源代码)
  • 打开解决方案资源管理器
  • 点击&#34;与活动文档同步&#34;按钮
  • Sync with active document
  • 升级到项目
  • 打开属性( Alt + 输入
  • 查看应用程序/程序集名称

答案 3 :(得分:1)

这可能相当令人沮丧和恼人 - 我发现自己处于这样一种情况,我需要回答OP的问题,而且上述答案都不适合我。

我有一个导入一些Roslyn DLL的程序。后来,在我不确定哪些DLL真正需要之后,我试图找出哪些类在哪些DLL中。

例如,我的程序引用了类MSBuildWorkspace。导航到类声明我可以看到命名空间名称,类的完全限定名称是Microsoft.CodeAnalysis.MSBuild.MSBuildWorkspace

按照@Spell的建议打开对象浏览器,然后搜索Microsoft.CodeAnalysis.MSBuild.MSBuildWorkspace结果&#34;搜索未找到结果&#34;,我猜测必须是因为Visual Studio。

幸运的是,只搜索MSBuildWorkspace会找到该类,但它仍然没有告诉我哪个DLL包含该类。

所以我需要做的是在对象浏览器右下角的小面板中单击类名称(显示为链接)。这导致左面板切换到DLL及其包含的类的视图。现在我可以看到类MSBuildWorkspace在DLL Microsoft.CodeAnalysis.Workspaces中,右键单击它并选择复制并将结果粘贴到文本编辑器中,提供了DLL的完整路径。