Microsoft.mshtml.dll重新分发问题

本文关键字:问题 mshtml dll Microsoft | 更新日期: 2023-09-27 18:33:13

我在内部制作了一个使用Microsoft.mshtml.dll的C# BHO。现在要打包这个BHO,我还需要分发Microsoft.mshtml.dll。可以将此 dll 与我的 dll 一起添加吗?任何法律问题?这个BHO在开发环境中工作正常,因为Microsoft.mshtml.dll存在于Visual Studio(C:''Windows''assembly''GAC''Microsoft.mshtml''7.0.3300.0__b03f5f7f11d50a3a''Microsoft.mshtml.dll(猜测中,这在每台机器上都不是这样。请指教。

Microsoft.mshtml.dll重新分发问题

它是一个互操作程序集,不包含任何代码。 只是声明,从 COM 类型库自动生成。 因此,重新分配是可以的。 它安装在 GAC 中的唯一原因是因为它是一个 PIA,一个主互操作程序集。 仅当您编写在您自己的公共方法中公开任何接口的类库时,才需要 PIA。 此类库的客户端还需要对互操作程序集的引用才能使用您的方法,并且它必须与您使用的方法完全相同。 这在一般情况下很少见,尤其是在BHO中。

如果使用 VS2010 之前的 Visual Studio 版本,则只需将程序集引用的"复制本地"属性设置为 True。 重新生成,你将获得 DLL 的副本,你可以将其与自己的可执行文件一起部署。

对于 VS2010 及更高版本,您确实希望支持嵌入互操作类型功能。 它将接口声明嵌入到您自己的程序集中,仅嵌入您实际使用的接口声明。 这有助于保持BHO的可分发大小更小。 并且避免了部署该互操作程序集的需要。 强烈推荐。