Excel引用.NET DLL中断了新版本

时间:2009-02-17 11:09:51

标签: excel com-interop

我有一个安装到GAC的.NET DLL,因为它被多个应用程序使用。

其中一个是使用.NET的COM互操作工具引用DLL的Excel工作簿。 COM tlb文件安装在应用程序目录中。

除非安装了DLL的更新版本,否则一切正常。在某些PC上,工作簿中的COM引用中断(显示为“Missing”)。运行相关的宏会导致Excel崩溃。这可以通过在VBA编辑器中取消勾选缺少的引用并重新添加对DLL的引用来解决,但我宁愿我的用户每次打开它时都不必这样做。

所有相关的对象和方法都有未更改的签名,并使用不变的GUID进行修饰。

为什么引用中断的任何想法?

编辑:在注册表深入调查之后,看起来安装时COM注册没有正确进行。但是,这并未显示为安装失败。但是,仍然没有找到根本原因。

1 个答案:

答案 0 :(得分:0)

我们这里也有问题;因此,我们的补丁程序总是运行gacutil.exe / cdl来清除下载缓存。解决方案对我们没有意义,因为我们没有通过浏览器下载我们的程序集,但它有所帮助。要查看是否对您有帮助,请尝试运行gacutil.exe / l以查看您的程序集是否在下载缓存中。

另外,请注意,由于某些原因,gacutil不会与框架一起重新分发,因此您首先需要将其复制到相关系统。