C#visual Basics引用不可用

时间:2012-03-27 15:28:00

标签: c# visual-studio-2010

我甚至无法起步。我知道如何添加参考,(这个。“”“”mshtml“”“不[工作])

using System;
using system.text;
using mshtml; // i cant seem to access this

我很困惑为什么当我在大写字母mshtml中键入MSHTML时。我遇到的问题是我只是使用各种教程,但似乎甚至无法启动它们,因为这是我的第一个问题。

我在添加对我的应用程序的引用时手动浏览但它似乎不起作用。我一直收到大写字母版本,除了我的PC上的目录中没有大写字母版本的MSHTML.dll。如果由于某种原因我没有这个文件可以安全免费下载,还是我的教程太老了?

另外,只是为了让您知道我了解这些文件的位置,就文件夹位置而言。我想如果我只是将引用添加到我的项目中它应该就在那里。

4 个答案:

答案 0 :(得分:2)

我认为您的条款和大写字母版本会产生误解。

动态链接库的名称虽然通常表示其目的并且恰当地命名,但并不严格依赖于程序集的内容。您可以根据需要调用它(在系统的原因和限制范围内),内部代码保持不变。

如果您已添加对“MSHTML.dll”的引用,请执行以下操作:'文件,然后很可能是'mshtml'的命名空间。定义 - 我没有说理想,但很可能。代码中的内容确实很重要 - 所以,例如,如果Intellisense向您显示您正在键入的内容的案例变体版本,那么它可能

如果您可以参考您所关注的教程,那么可能更容易看到实际问题是什么。除此之外,请继续使用它提供的代码。

顺便说一句,我建议您阅读一些Assemblies in .NET

答案 1 :(得分:2)

感谢您指出这是您的第一个C#程序。它有助于我们了解尝试回答的程度。

首先,我想谈谈你所做的陈述:

  

我的目录中没有大写字母版本的MSHTML.dll

你似乎把名字空间与.dll名称混淆了,这是我最初挣扎的事情。有一个完整的解释here,但对初学者级别的开发人员来说可能太技术化了。

简而言之,在“using”语句的文件顶部,您告诉编译器在哪里查找Namespace的某些类和代码。

命名空间是逻辑代码分组。为方便起见,开发人员将类似功能的代码分组到命名空间中。例如,数据访问代码位于System.Data命名空间中。

添加.dll时,您正在添加实际的文件引用。在一个不那么混乱的世界中,.dll会被命名为反映其中包含的命名空间。然而,它并不总是那么简单。我完全有可能创建一个名为“DaveStratton.dll”的DLL,其中包含Booyah.Encryption,Simple.Functions或我想要的任何其他命名空间。除了惯例之外,确实没有相关性,并且没有强制执行。“

例如,如果您在System.Data.SqlConnection类中查看MSDN Library 类名实际上是SqlConnection,它存在于System.Data命名空间中。 System.Data命名空间包含在System.Data.dll中。 (因为开发人员遵循惯例并且为了清楚起见这样做了。)截图如下:

enter image description here

如果你看其他课程,你可能会发现不一致。

例如,System.Configuration.SettingsBase类:System.Configuration命名空间中的SettingsBase类,但是如果查看程序集信息,您会看到它在System.dll中。而System.Configuration.ConfigurationManager位于System.Configuration.dll中。


因此,简而言之,在Visual Studio中添加引用时需要知道Assembly(.dll)名称,但在编写代码时需要类/程序集名称。在你的using语句中,你需要大写字母,因为命名空间是大写的,如果不是.dll则是ewven。

答案 2 :(得分:0)

听起来您需要先为项目添加引用。打开您的解决方案,在正确的项目资源管理器中,展开引用,右键单击引用以添加引用。现在找到Microsoft.mshtml并将其添加为参考。

答案 3 :(得分:0)

有关您的使用问题,请参阅here,您需要向此特定COM库1添加引用(右键单击项目,添加引用):How do I use MSHTML in VB.NET?