我制作了一个C# BHO,它在内部使用Microsoft.mshtml.dll。现在,要打包这个BHO,我还需要分发Microsoft.mshtml.dll。用我的dll添加这个dll可以吗?有法律问题吗?这个BHO在开发环境中工作得很好,因为visual (C:\Windows\assembly\GAC\Microsoft.mshtml\7.0.3300.0__b03f5f7f11d50a3a\Microsoft.mshtml.dll)猜测中存在Microsoft.mshtml.dll,这在每台机器上都不是这样的。请建议一下。
发布于 2013-09-27 14:06:10
它是一个互操作程序集,它不包含任何代码。只是声明,从COM类型库自动生成。因此,重新分配是很好的。它安装在GAC中的唯一原因是因为它是一个PIA,一个主要的互操作程序集。当您编写一个类库在您自己的公共方法中公开任何接口时,您只需要一个PIA。这样一个库的客户端还需要对互操作程序集的引用才能使用您的方法,并且它必须与您使用的方法完全相同。这在一般情况下是罕见的,尤其是在BHO中。
如果在VS2010之前使用Visual版本,则只需将设置为True以供程序集引用。重建,您将得到一个DLL的副本,您可以部署与您自己的可执行文件。
对于VS2010和up,您确实希望支持特性。它将接口声明嵌入到自己的程序集中,只有实际使用的声明。这大大有助于保持您的BHO的可分发的规模更小。并且避免了部署互操作程序集的需要。强烈建议。
https://stackoverflow.com/questions/19051604
复制相似问题