[英]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.