我制作了一个在内部使用 Microsoft.mshtml.dll 的 C# BHO。现在要打包这个 BHO,我还需要分发 Microsoft.mshtml.dll。将此 dll 添加到我的 dll 中可以吗?有什么法律问题吗?此 BHO 在开发环境中运行良好,因为 Visual Studio 中存在 Microsoft.mshtml.dll (C:\Windows\assemble\GAC\Microsoft.mshtml\7.0.3300.0__b03f5f7f11d50a3a\Microsoft.mshtml.dll) 猜测,这不会每台机器上的情况。请建议。
它是一个互操作程序集,不包含任何代码。只是从 COM 类型库自动生成的声明。因此重新分配就可以了。它安装在 GAC 中的唯一原因是因为它是一个 PIA,一个主要的互操作程序集。仅当您编写在您自己的公共方法中公开任何接口的类库时,才需要 PIA。此类库的客户端还需要对互操作程序集的引用才能使用您的方法,并且它必须与您使用的方法完全相同。一般来说,这种情况很少见,尤其是在 BHO 中。
如果您使用 VS2010 之前的 Visual Studio 版本,则只需将程序集引用的 Copy Local 属性设置为 True 即可。重建后,您将获得 DLL 的副本,您可以将其与您自己的可执行文件一起部署。
对于 VS2010 及更高版本,您确实希望支持嵌入互操作类型功能。它将接口声明嵌入到您自己的程序集中,仅嵌入您实际使用的接口声明。这有助于保持 BHO 的可分配大小更小。并避免了部署互操作程序集的需要。强力推荐。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)