2009-02-17 28 views
1

我有一个安装到GAC的.NET DLL,因为它被多个应用程序使用。对.NET DLL的Excel引用中断了新版本

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

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

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

任何想法为什么参考文件会打破?

编辑:经过深入的注册表中的一些调查,它看起来像COM注册没有正确安装。但是,这并未显示为安装失败。尽管如此,仍然没有接近找到根本原因。

回答

0

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

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

+0

感谢您的提示,但它并没有帮助这个特定的问题。 – 2009-02-20 15:08:40

相关问题