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(猜测中,这在每台机器上都不是这样。请指教。
它是一个互操作程序集,不包含任何代码。 只是声明,从 COM 类型库自动生成。 因此,重新分配是可以的。 它安装在 GAC 中的唯一原因是因为它是一个 PIA,一个主互操作程序集。 仅当您编写在您自己的公共方法中公开任何接口的类库时,才需要 PIA。 此类库的客户端还需要对互操作程序集的引用才能使用您的方法,并且它必须与您使用的方法完全相同。 这在一般情况下很少见,尤其是在BHO中。
如果使用 VS2010 之前的 Visual Studio 版本,则只需将程序集引用的"复制本地"属性设置为 True。 重新生成,你将获得 DLL 的副本,你可以将其与自己的可执行文件一起部署。
对于 VS2010 及更高版本,您确实希望支持嵌入互操作类型功能。 它将接口声明嵌入到您自己的程序集中,仅嵌入您实际使用的接口声明。 这有助于保持BHO的可分发大小更小。 并且避免了部署该互操作程序集的需要。 强烈推荐。