繁体   English   中英

C#Visual Basics参考不可用

[英]C# visual Basics references not available

我什至无法动手。我知道如何添加参考,(此。“”“ mshtml”“”“不[工作])

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

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

将引用添加到我的应用程序时,我已经进行了手动浏览,但是它似乎不起作用。 我一直得到大写字母的版本,但PC上的目录中没有MSHTML.dll的大写字母的版本。 如果由于某种原因我没有此文件,可以安全地免费下载该文件,或者我的教程太旧了吗?

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

我认为您对术语“大写字母”有误解。

尽管动态链接库的名称通常可以指示其用途并恰当地命名,但它并不严格地与程序集的内容绑定。 您可以根据需要(在系统的原因和限制内)调用它,并且内部的代码保持不变。

如果您添加了对“ MSHTML.dll”文件的引用,则很有可能定义了“ mshtml”命名空间-我说的不是理想的,但可能是。 不过,代码中的大小写确实很重要-因此,例如,如果Intellisense向您显示您所键入内容的大小写不同,则可能是这样。 无论哪种方式,如果您忽略它都不是您一直在键入的内容。

如果您可以参考所遵循的教程,那么可能会更容易了解实际问题所在。 除此之外,继续它提供的代码。

顺便说一句,我建议您阅读.NET中的Assemblies

感谢您指出这是您的第一个C#程序。 它可以帮助我们了解尝试回答的级别。

首先,我想谈一谈您的发言:

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

似乎您将命名空间与.dll名称混淆了,这是我起初为自己所苦的。 有一个完整的解释在这里 ,但它可能是初学者的水平也开发技术。

简而言之,在文件的“使用”语句所在的顶部,您告诉编译器在何处按名称空间查找某些类和代码。

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

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

例如,如果您在MSDN Library中的System.Data.SqlConnection类中查找。
类名称实际上是SqlConnection,它位于System.Data命名空间中。 System.Data命名空间包含在System.Data.dll中。 (因为开发人员遵循约定,并且为了清楚起见,所以这样做。)下面的屏幕截图:

在此处输入图片说明

如果您查看其他课程,可能会发现差异。

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


因此,长话短说,在Visual Studio中添加引用时,您需要知道程序集(.dll)名称,但是在编写代码时,您需要类/程序集名称。 在using语句中,您需要使用大写字母,因为命名空间是大写的,如果.dll不是,则即使是大写也是如此。

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

有关使用问题,请参见此处 ,您需要为此特定的COM库1添加一个引用(右键单击项目,添加引用): 如何在VB.NET中使用MSHTML?

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM