2012-12-14 103 views
0

我已經創建了一個C#DLL從Excel VBA中使用。我在我的開發機器上編譯了DLL,並且將DLL和TLB文件移到了開發服務器上。使用RegAsm後覆蓋DLL

我用RegAsm來註冊DLL,這工作正常。然後我打開VBA並添加對.TLB文件的引用。然後我在VBA中使用這個類,並且一切正常。

我已經對c#類庫進行了更改,編譯了庫,但是當我嘗試覆蓋開發服務器上的字段時,它們被鎖定爲被另一個進程使用。

我試圖使用RegAsm/unregister,這仍然沒有幫助。

在此先感謝。

回答

2

確保您關閉了Excel的所有實例,因爲它們將鎖定插件。你也可能在任務管理器中有一些幽靈Excel進程,你可以殺死它。以下是一個批處理腳本,它會殺死所有的Excel實例:

taskkill /F /IM EXCEL.EXE 
+0

我安裝ProcExplorer,意識到Excel軟件抓着它 - 它總是被證明是最簡單的解決方案!謝謝。 – christiandev