【问题标题】:Why is Visual Studio unable to handle HTMLDocument class?为什么 Visual Studio 无法处理 HTMLDocument 类?
【发布时间】:2019-12-01 03:25:45
【问题描述】:

在 C# 中我有 Object htmlDoc = _webbrowser.Document; 当我在调试模式下单步执行代码时,我有 htmlDoc = {mshtml.HTMLDocumentClass} 当我将鼠标悬停在 Object htmlDoc 分配上时显示。

但是当我在 IDE 中键入此代码 HTMLDocument htmlDoc = new HTMLDocumentClass(); 时,Visual Studio 无法识别 HTMLDocument,也无法识别 HTMLDocumentClass 类。

我已经包含了System.Windows.Forms 的命名空间,并且我引用了同名的 DLL,它是版本 4.0.0.0 和运行时版本 v4.0.30319。我尝试添加命名空间 System.Windows.Brower,但 IDE 无法识别它的存在。为什么调试器似乎能识别mshtml.HTMLDocumentClass,但代码本身却无法识别?

【问题讨论】:

    标签: c# htmldocumentclass


    【解决方案1】:

    .NET HtmlDocument class:

    ...基于 Internet Explorer 的 DHTML DOM 实现的非托管接口:IHTMLDocument、IHTMLDocument2、IHTMLDocument3 和 IHTMLDocument4。 HtmlDocument 仅公开这些非托管接口上最常用的属性和方法。您可以使用 DomDocument 属性直接访问所有其他属性和方法,您可以将其强制转换为所需的非托管接口指针。

    您看到的mshtml.HTMLDocumentClass 实例来自.NET 库内部引用的COM 组件的互操作库;它没有公开曝光。除非您在项目中添加对此的引用并使用命名空间,否则 HTMLDocumentClass 在您的项目中(直接)不存在。我相信您必须添加才能直接访问它的 DLL 名为 Microsoft.mshtml.dll

    【讨论】:

      猜你喜欢
      • 2021-01-14
      • 1970-01-01
      • 1970-01-01
      • 2010-10-31
      • 1970-01-01
      • 2010-09-25
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多