2010-11-03 63 views
1

我正在使用C#创建Internet Explorer插件。我一直在下面的教程,其中代码导入了几个班,我没有用,即:如何查找包含特定类的C#组件

using System.Windows; 
using SHDocVw; 

我意识到我需要的相关组件添加到我的项目,但我不知道如何找到包含这些类的组件。也许有一个地方搜索?

+0

教程网站没有源代码吗? – 2010-11-03 11:24:45

+0

它列出了源代码,但没有提到需要添加到项目中的引用。 http://msmvps.com/blogs/vcsjones/archive/2010/05/23/writing-a-managed-internet-explorer-extension-part-1.aspx – opsb 2010-11-03 11:57:15

回答

2

两者的这些实施例是位于在需要被引用程序集命名空间。幸运的是,添加这些引用是非常简单的:

对于System.Windows:

  1. 右键点击您的项目。
  2. 选择“添加引用...”
  3. 选择“.NET”选项卡并找到System.Windows程序集。
  4. 双击即可添加。

对于SHDOCVW:

  1. 右键点击您的项目。
  2. 选择“添加参考...”
  3. 选择“浏览”选项卡。
  4. 导航到C:\ Windows \ System32下
  5. 查找shdocvw.dll中
  6. 双击添加。
+0

非常感谢,当您刚开始使用开发语言/环境时,最好有明确的说明。我碰到的一个问题是System.Windows不存在于.NET选项卡中。我有System.Windows.Presentation,..ndows.Input.Manipulations,..ndows.Forms.DataVisualization和..ndows.Forms。我确实设法通过创建一个WPF应用程序来解决这个问题,该应用程序似乎包含了开箱即用的必要组件。 System.Windows仍然没有在参考文献中列出。 – opsb 2010-11-03 11:51:40

+0

@opsb - System.Windows实际上可能是一个Silverlight程序集。我的错。不过请记住,命名空间可以跨越几个程序集,因此通过创建WPF项目,它添加了其他包含属于System.Windows命名空间的类的程序集引用。如果知道需要哪个类,而不是要查找的名称空间,则更容易分辨需要添加的程序集。 – 2010-11-03 11:55:22

+0

是的,我想避免使用WPF,因为我不想包含所有必需的组件。事实证明,必要的组件称为WindowsBase,也可以在.NET选项卡上找到。 – opsb 2010-11-03 12:07:14

1

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

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

+0

嗯,我是从java中过来的,我没有没有意识到你可以使用该语法来导入命名空间。 – opsb 2010-11-03 11:39:43

1

其Microsoft Web浏览器控件。

你应该

shdocvw32.dll

与您的项目中引用它的名称有它您的PC上。

问候,

马兹哈尔卡里米

+0

我发现了几个可能做类似工作的文件。 shodocvw.dll,Microsoft.ShDocVw.dll,AxInterop.ShDocVw.dll和Interop.ShDocVw.dll。我如何知道选择哪一个?另外,如果我指的是保存在文件系统的某个随机部分中的dll,我如何与其他开发人员共享该项目? – opsb 2010-11-03 11:45:58