C# 给定VisualStudio中的一个类,如何找出哪个dll包含它?

C# 给定VisualStudio中的一个类,如何找出哪个dll包含它?,c#,.net,visual-studio,dll,.net-assembly,C#,.net,Visual Studio,Dll,.net Assembly,正在修改现有的.NET项目。在VisualStudio中给定一个C#类,如何找出哪个DLL有它 问题是我想在新项目中使用此类中的方法,因此我需要找到正确的DLL以添加作为新项目的引用。有一些类似的工具建议使用语句添加,甚至添加对项目的引用。你好像没有那种东西 添加Microsoft类的引用 在这种情况下(在我有工具之前),我会用谷歌搜索 class <ClassName> site:msdn.microsoft.com 这让我想到了另一个问题。在MSDN页面上,它列出了命名空间和程

正在修改现有的.NET项目。在VisualStudio中给定一个C#类,如何找出哪个DLL有它

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

有一些类似的工具建议使用语句添加
,甚至添加对项目的引用。你好像没有那种东西

添加Microsoft类的引用 在这种情况下(在我有工具之前),我会用谷歌搜索

class <ClassName> site:msdn.microsoft.com
这让我想到了另一个问题。在MSDN页面上,它列出了命名空间和程序集:

Namespace:  System.Diagnostics
Assembly:  System (in System.dll)
在不同的项目中添加自己类的引用
  • 打开类定义(源代码)
  • 打开解决方案资源管理器
  • 单击“与活动文档同步”按钮
  • 进入项目
  • 打开属性(Alt+Enter)
  • 查看应用程序/程序集名称

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

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

这可能会令人沮丧和恼火-我发现自己处于一种需要OP问题答案的情况下,而上述答案对我都不起作用

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

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

按照@Spell的建议打开对象浏览器,搜索
Microsoft.CodeAnalysis.MSBuild.MSBuildWorkspace
会导致“搜索未找到结果”,我猜这一定是由于Visual Studio中的错误造成的

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

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

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