【问题标题】:How to find the C# component that contains a particular class如何查找包含特定类的 C# 组件
【发布时间】:2011-05-04 10:37:05
【问题描述】:

我正在使用 C# 创建一个 Internet Explorer 插件。我一直在关注一个教程,其中代码导入了几个我没有的类,即:

using System.Windows;
using SHDocVw;

我意识到我需要将相关组件添加到我的项目中,但我不确定如何找到包含这些类的组件。也许某处有搜索?

【问题讨论】:

标签: c# visual-studio-2010 components


【解决方案1】:

这两个示例都是位于需要引用的程序集中的命名空间。幸运的是,添加这些引用非常简单:

对于 System.Windows:

  1. 右键单击您的项目。
  2. 选择“添加参考...”
  3. 选择“.NET”选项卡并找到 System.Windows 程序集。
  4. 双击添加。

对于 SHDocVw:

  1. 右键单击您的项目。
  2. 选择“添加参考...”
  3. 选择“浏览”标签。
  4. 导航到 C:\Windows\System32
  5. 查找 SHDocVw.dll
  6. 双击添加。

【讨论】:

  • 非常感谢,当您不熟悉开发语言/环境时,最好有明确的说明。我遇到的一个问题是 System.Windows 在 .NET 选项卡中不存在。我有 System.Windows.Presentation、..ndows.Input.Manipulations、..ndows.Forms.DataVisualization 和 ..ndows.Forms。我确实设法通过创建一个 WPF 应用程序来解决这个问题,该应用程序似乎包括开箱即用的必要程序集。 System.Windows 仍然没有在参考文献中列出。
  • @opsb - System.Windows 实际上可能是一个 Silverlight 程序集。我的错。但是不要忘记,命名空间可以跨越多个程序集,因此通过创建 WPF 项目,它添加了其他程序集引用,这些引用也包含属于 System.Windows 命名空间的类。如果您知道您需要什么类而不是您要查找的命名空间,则更容易判断需要添加哪个程序集。
  • 是的,我想避免使用 WPF,因为我不想包含所有必要的组件。事实证明,必要的组件称为 WindowsBase,也可以在 .NET 选项卡上找到。
【解决方案2】:

首先,您发布的代码不是类,而是命名空间。

您可以通过查看命名空间的文档来确定要添加的组件。 在命名空间名称之后谷歌,你会在 MSDN 上找到答案。

【讨论】:

  • 啊,我是从 java 来的,我没有意识到你也可以使用这种语法来导入命名空间。
【解决方案3】:

它的 Microsoft Web 浏览器控件。

你应该在你的电脑上拥有它,名称为

shdocvw32.dll

在您的项目中引用它。

问候,

马扎尔·卡里米

【讨论】:

  • 我发现了一些可能做类似工作的文件。 shodocvw.dll、Microsoft.ShDocVw.dll、AxInterop.ShDocVw.dll 和 Interop.ShDocVw.dll。我怎么知道该选择哪一个?另外,如果我指的是保存在文件系统的某个随机部分中的 dll,我如何与其他开发人员共享该项目?
猜你喜欢
  • 2012-09-22
  • 2020-11-13
  • 1970-01-01
  • 2014-12-16
  • 2017-05-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2020-04-19
相关资源
最近更新 更多