关于引用mshtml的问题
今天看了个验证码识别的代码,其中引用到了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的问题相关推荐
- 使用WebBrowser与msHtml开发WinForms下的HtmlEditor控件
引用COM控件WebBrowser 引用msHtml. BS,还在用vs2003.要是使用2005就不需要使用COM控件. 初始化: With Me.AxWebBrowser1 .Navig ...
- Microsoft.mshtml到底是什么?
MSHTML到底是什么,现在越来越糊涂了. Lostinet在结合 MSHTML 与 WebBrowser 生成美观实用的 WinForm 应用程序一文给出的例子中引用的是MSHTML(COM组件) ...
- vb.net 教程 12-4 msHtml 1
版权声明:本文为博主原创文章,转载请在显著位置标明本文出处以及作者网名,未经作者允许不得用于商业目的. MSHTML是微软公司的一个COM组件,该组件封装了HTML语言中的所有元素及其属性,提供了网页 ...
- vb microsoft html object library,HTML对象库简介(Microsoft HTML Object Library - mshtml.tlb)...
获取网页数据必须使用HTML对象库,可在"引用"窗体中添加对"Microsoft HTML Object Library"的引用.HTML对象库提供了大量的对象 ...
- C# Webbrowser 常用方法及多线程调用
设置控件的值 ///<summary> /// 根据ID,NAME双重判断并设置值 /// </summary> /// <param name="tagNam ...
- WPF使用Webbrowser操作网页的主要代码
1,引用mshtml.dllusingmshtml;2,获取元素属性值IHTMLDocument2 doc2=(IHTMLDocument2)webbrowser1.Document; IHTMLEl ...
- 《Visual Basic.Net 循序渐进》详细目录
链接:https://pan.baidu.com/s/1IfaLvlklx-nT4KK4VKZuIw 提取码:ip5n 更新日期:2022年7月19日 更新章节:45个 更新代码:31个 目前教 ...
- 论坛灌水机 Delphi代码
本来以为网页里的edit,memo等都和程式里的相同,能够用句柄来控制,但后来才明白,他是不存在句柄的! 查了好久,前几天看到一个关于QQ自动申请的例子.主要就是控制网页各种操作的!总结了一下,做出一 ...
- 【C#】通过webbrowser控件自动注册QQ号讲解
前言:通过webbrowser控件来自动填写网页内容快速申请QQ号,其实对于没有使用类似JS脚本语言的简单网页元素来说比较简单,但是TX并不是吃素的,因此对于其网页自动填写内容需要注意些细节.下面介绍 ...
- 包含mshtml, SHDocVw, AxSHDocVw的引用以及如何添加axWebBrowser控件到工具箱
1.添加mshtml引用: 添加下面的引用编译时会引发后面错误 添加正确位置(C:\Program Files (x86)\Microsoft.NET\Primary Interop Assembli ...
最新文章
- vs编译器 printf 控制台输出_【语言教程】通过语言了解GCC编译器工作过程
- 李春平:钱不是奥黛莉赫本给的
- 【Leetcode】EASY题解....ing python
- java编写科赫曲线_分形——科赫曲线
- 拷贝的代码中去除行号的方法
- nginx 开启高效文件传输模式
- linux 搭建任务队列集群,beanstalkd任务队列 linux平台安装测试
- poj2182 Lost Cows-线段树
- 少儿编程150讲轻松学Scratch(二)-制作过马路小游戏
- python给字母赋值_给字母赋值的更快方法?
- 触发起名字使用正则_好名字一定在字音、字形、字意上比较吉利
- 教你如何在Spark Scala/Java应用中调用Python脚本
- hadoop 2.6 伪分布式的安装
- win10怎么用记事本打开html文件,Win10系统怎么打开记事本
- Oracle12c CDB和PDB数据库的启动与关闭说明
- 中国国家航天局:探月工程四期还有三次任务
- C++:CMake常用变量【CMAKE_CXX_FLAGS、CMAKE_BUILD_TYPE、×_BINARY_DIR】
- oracle 插入表数据时,自动生成ID
- 八代及以上笔记本发热降频的一般处理办法
- 怎么退出用户登录linux,怎样登录和退出Linux系统