今天看了个验证码识别的代码,其中引用到了mshtml.dll,找了半天原来就是microsoft.mshtml.dll。查这个dll的时候还发现了好几篇关于这个dll添加问题的文章。顺便看了下,原来这个dll有三个,添加引用时要注意了。
    第一篇文章:
    1.添加引用的问题
    一般在开发环境下会在三个地方存有microsoft.mshtml.dll文件。所以在添加引用时,也会出现三个看似一样的项。对于开发者来说,引用其中任何一个都不会影响到正常的开发。但问题会出在软件发布之后!在客户的机子上运行时,通常会提示文件的签名不正确,无法加载。
解决的方法就是删除现在对mshtml引用。重新选择正确引用。就是选最下面那个。路径是:X:\Program Files\Microsoft.NET\Primary Interop Assemblies\Microsoft.mshtml.dll 。把引用对话框拉大,可以看到文件的路径。
    2.类型选择错误
    如果问题一解决了,或者开始就选对了。可能客户机了上运行又报 System._ComObject 无法强制转换到 HtmlWIndow2Class 、HtmlDocumentClass或其它类似的错误。在开发者的机子上运行,却完全正常。这时通常我们会狂抓,完全不知是什么原因!在开发环境下用obj.toString()显示是HtmlXXXXClass在客户机上得到结果却是System._ComObject.解决方法很简单用HtmlXXXX替换HtmlXXXXClass即可。
     第二篇文章:
    也是用到了Microsoft mshtml.dll程序集,但是安装在用户电脑后,异常:
System.Reflection.TargetInvocationException: 调用的目标发生了异常。 ---> System.IO.FileNotFoundException: 未能加载文件或程序集“Microsoft.mshtml, Version=7.0.3300.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a”或它的某一个依赖项。系统找不到指定的文件。
解决方法如图,选择高亮的那个dll就可以了。

属性选择:
复制本地=True
特定版本=false;  
原因是:
因为 Microsoft.mshtmal.dll 这个 dll 是从 system32 文件夹下的 mshtml.tlb(COM 类型库文件)中导出的,因此我们只需要用 VS2008 自带的 TlbImp.exe COM 类型库导出工具将这个 tlb 文件再导一遍就可以了。

--------------------- 作者:西北白杨树 来源:CSDN 原文:https://blog.csdn.net/yysyangyangyangshan/article/details/7446745?utm_source=copy 版权声明:本文为博主原创文章,转载请附上博文链接!

关于引用mshtml的问题相关推荐

  1. 使用WebBrowser与msHtml开发WinForms下的HtmlEditor控件

    引用COM控件WebBrowser 引用msHtml. BS,还在用vs2003.要是使用2005就不需要使用COM控件. 初始化: With Me.AxWebBrowser1      .Navig ...

  2. Microsoft.mshtml到底是什么?

    MSHTML到底是什么,现在越来越糊涂了. Lostinet在结合 MSHTML 与 WebBrowser 生成美观实用的 WinForm 应用程序一文给出的例子中引用的是MSHTML(COM组件) ...

  3. vb.net 教程 12-4 msHtml 1

    版权声明:本文为博主原创文章,转载请在显著位置标明本文出处以及作者网名,未经作者允许不得用于商业目的. MSHTML是微软公司的一个COM组件,该组件封装了HTML语言中的所有元素及其属性,提供了网页 ...

  4. vb microsoft html object library,HTML对象库简介(Microsoft HTML Object Library - mshtml.tlb)...

    获取网页数据必须使用HTML对象库,可在"引用"窗体中添加对"Microsoft HTML Object Library"的引用.HTML对象库提供了大量的对象 ...

  5. C# Webbrowser 常用方法及多线程调用

    设置控件的值 ///<summary> /// 根据ID,NAME双重判断并设置值 /// </summary> /// <param name="tagNam ...

  6. WPF使用Webbrowser操作网页的主要代码

    1,引用mshtml.dllusingmshtml;2,获取元素属性值IHTMLDocument2 doc2=(IHTMLDocument2)webbrowser1.Document; IHTMLEl ...

  7. 《Visual Basic.Net 循序渐进》详细目录

    ​ 链接:https://pan.baidu.com/s/1IfaLvlklx-nT4KK4VKZuIw  提取码:ip5n 更新日期:2022年7月19日 更新章节:45个 更新代码:31个 目前教 ...

  8. 论坛灌水机 Delphi代码

    本来以为网页里的edit,memo等都和程式里的相同,能够用句柄来控制,但后来才明白,他是不存在句柄的! 查了好久,前几天看到一个关于QQ自动申请的例子.主要就是控制网页各种操作的!总结了一下,做出一 ...

  9. 【C#】通过webbrowser控件自动注册QQ号讲解

    前言:通过webbrowser控件来自动填写网页内容快速申请QQ号,其实对于没有使用类似JS脚本语言的简单网页元素来说比较简单,但是TX并不是吃素的,因此对于其网页自动填写内容需要注意些细节.下面介绍 ...

  10. 包含mshtml, SHDocVw, AxSHDocVw的引用以及如何添加axWebBrowser控件到工具箱

    1.添加mshtml引用: 添加下面的引用编译时会引发后面错误 添加正确位置(C:\Program Files (x86)\Microsoft.NET\Primary Interop Assembli ...

最新文章

  1. vs编译器 printf 控制台输出_【语言教程】通过语言了解GCC编译器工作过程
  2. 李春平:钱不是奥黛莉赫本给的
  3. 【Leetcode】EASY题解....ing python
  4. java编写科赫曲线_分形——科赫曲线
  5. 拷贝的代码中去除行号的方法
  6. nginx 开启高效文件传输模式
  7. linux 搭建任务队列集群,beanstalkd任务队列 linux平台安装测试
  8. poj2182 Lost Cows-线段树
  9. 少儿编程150讲轻松学Scratch(二)-制作过马路小游戏
  10. python给字母赋值_给字母赋值的更快方法?
  11. 触发起名字使用正则_好名字一定在字音、字形、字意上比较吉利
  12. 教你如何在Spark Scala/Java应用中调用Python脚本
  13. hadoop 2.6 伪分布式的安装
  14. win10怎么用记事本打开html文件,Win10系统怎么打开记事本
  15. Oracle12c CDB和PDB数据库的启动与关闭说明
  16. 中国国家航天局:探月工程四期还有三次任务
  17. C++:CMake常用变量【CMAKE_CXX_FLAGS、CMAKE_BUILD_TYPE、×_BINARY_DIR】
  18. oracle 插入表数据时,自动生成ID
  19. 八代及以上笔记本发热降频的一般处理办法
  20. 怎么退出用户登录linux,怎样登录和退出Linux系统

热门文章

  1. hive表中加载数据
  2. 二级计算机c语言各题型,计算机二级C语言都有哪些题型?
  3. 使用QML编写舒尔特表小程序
  4. 计算机分子模拟聚乙烯,聚乙烯结晶及拉伸过程的分子动力学模拟
  5. 最简单的DLL导出函数隐藏方式
  6. python利用经纬度画地图_使用Python实现画一个中国地图
  7. 51单片机 模块化编程
  8. Excel导入SQL(VB.NET版)
  9. 全国行政区划分简单分析
  10. Python爬虫基本代码附解析