2009-02-17 30 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

相關問題