积极答复者
组件引用时遇到的版本问题

问题
-
程序中需要操作webBrowser中的文档,所以使用了Mocrosoft.mshtml.dll文件。代码如下:
mshtml.HTMLDocument doc = (mshtml.HTMLDocument)webBrowser1.Document.DomDocument;
代码在客户机器上运行,报错,提示找不到版本为7.0.3300.0的mshtml.dll文件。经检查,客户机器上的文件版本是8.0.6001.18702,而我的开发机器上的版本是7.0.3300.0,应该是版本不同的原因导致的。把客户机器上的文件拷贝到开发机器上,重新引用mshtml,VS提示“未能添加对Mocrosoft.mshtml的引用。这不是.NET程序集”。
非常纳闷,难道Mocrosoft.mshtml到了版本8后,就不能再引用了吗?望高手指教,谢谢!
- 已编辑 JSHZP 2012年2月7日 2:51
答案
-
两个意见:
1)直接使用.NET中的WebBrowser,这样只要客户端安装了.NET包即可,方便部署。
2)尝试蜡人张的办法:
复制一份Microsoft.mshtml.dll到程序运行目录中,在程序运行目录中新建一个名为“程序文件名.exe.local”的空文件
http://waxdoll.cnblogs.com/archive/2005/04/08/134196.aspx
- 已建议为答案 Lie YouModerator 2012年2月8日 10:03
- 已标记为答案 Lie YouModerator 2012年2月13日 3:10
-
这可能使C# 过度强调程序集的版本问题。 必须调用一样的版本才可以。
建议您可以动态加载程序集和反射来解决这样的问题:
http://msdn.microsoft.com/en-us/library/1009fa28.aspx
http://msdn.microsoft.com/en-us/library/f7ykdhsy.aspx
Best Regards,
Rocky Yue[MSFT]
MSDN Community Support | Feedback to us
- 已标记为答案 Lie YouModerator 2012年2月13日 3:10
全部回复
-
两个意见:
1)直接使用.NET中的WebBrowser,这样只要客户端安装了.NET包即可,方便部署。
2)尝试蜡人张的办法:
复制一份Microsoft.mshtml.dll到程序运行目录中,在程序运行目录中新建一个名为“程序文件名.exe.local”的空文件
http://waxdoll.cnblogs.com/archive/2005/04/08/134196.aspx
- 已建议为答案 Lie YouModerator 2012年2月8日 10:03
- 已标记为答案 Lie YouModerator 2012年2月13日 3:10
-
-
可以把你的dll部署到GAC上试试
详细的可以参考:
http://support.microsoft.com/kb/815808/zh-cn
分享与互助~~小站:http://www.cnblogs.com/knightluffy/
-
这可能使C# 过度强调程序集的版本问题。 必须调用一样的版本才可以。
建议您可以动态加载程序集和反射来解决这样的问题:
http://msdn.microsoft.com/en-us/library/1009fa28.aspx
http://msdn.microsoft.com/en-us/library/f7ykdhsy.aspx
Best Regards,
Rocky Yue[MSFT]
MSDN Community Support | Feedback to us
- 已标记为答案 Lie YouModerator 2012年2月13日 3:10