我正在使用C#创建Internet Explorer插件。我一直在下面的教程,其中代码导入了几个班,我没有用,即:如何查找包含特定类的C#组件
using System.Windows;
using SHDocVw;
我意识到我需要的相关组件添加到我的项目,但我不知道如何找到包含这些类的组件。也许有一个地方搜索?
我正在使用C#创建Internet Explorer插件。我一直在下面的教程,其中代码导入了几个班,我没有用,即:如何查找包含特定类的C#组件
using System.Windows;
using SHDocVw;
我意识到我需要的相关组件添加到我的项目,但我不知道如何找到包含这些类的组件。也许有一个地方搜索?
两者的这些实施例是位于在需要被引用程序集命名空间。幸运的是,添加这些引用是非常简单的:
对于System.Windows:
对于SHDOCVW:
非常感谢,当您刚开始使用开发语言/环境时,最好有明确的说明。我碰到的一个问题是System.Windows不存在于.NET选项卡中。我有System.Windows.Presentation,..ndows.Input.Manipulations,..ndows.Forms.DataVisualization和..ndows.Forms。我确实设法通过创建一个WPF应用程序来解决这个问题,该应用程序似乎包含了开箱即用的必要组件。 System.Windows仍然没有在参考文献中列出。 – opsb 2010-11-03 11:51:40
@opsb - System.Windows实际上可能是一个Silverlight程序集。我的错。不过请记住,命名空间可以跨越几个程序集,因此通过创建WPF项目,它添加了其他包含属于System.Windows命名空间的类的程序集引用。如果知道需要哪个类,而不是要查找的名称空间,则更容易分辨需要添加的程序集。 – 2010-11-03 11:55:22
是的,我想避免使用WPF,因为我不想包含所有必需的组件。事实证明,必要的组件称为WindowsBase,也可以在.NET选项卡上找到。 – opsb 2010-11-03 12:07:14
首先,您发布的代码不是类,而是名称空间。
您可以通过查看命名空间的文档来找出要添加的组件。 谷歌命名空间名称后,你会在MSDN上找到答案。
嗯,我是从java中过来的,我没有没有意识到你可以使用该语法来导入命名空间。 – opsb 2010-11-03 11:39:43
其Microsoft Web浏览器控件。
你应该
shdocvw32.dll
与您的项目中引用它的名称有它您的PC上。
问候,
马兹哈尔卡里米
我发现了几个可能做类似工作的文件。 shodocvw.dll,Microsoft.ShDocVw.dll,AxInterop.ShDocVw.dll和Interop.ShDocVw.dll。我如何知道选择哪一个?另外,如果我指的是保存在文件系统的某个随机部分中的dll,我如何与其他开发人员共享该项目? – opsb 2010-11-03 11:45:58
教程网站没有源代码吗? – 2010-11-03 11:24:45
它列出了源代码,但没有提到需要添加到项目中的引用。 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