【问题标题】:Overwriting a DLL after using RegAsm使用 RegAsm 后覆盖 DLL
【发布时间】:2012-12-14 19:57:16
【问题描述】:

我创建了一个用于 Excel VBA 的 C# DLL。我在开发机器上编译了 DLL,并将 DLL 和 TLB 文件移到了开发服务器上。

我使用 RegAsm 注册了 DLL,效果很好。然后我打开 VBA 并添加了对 .TLB 文件的引用。然后我在 VBA 中使用了这个类,一切都很好。

我现在已经对 c# 类库进行了更改,编译了库,但是当我尝试覆盖开发服务器上的文件时,它们被锁定为被另一个进程使用。

我尝试使用 RegAsm /unregister,但这仍然没有帮助。

提前致谢。

【问题讨论】:

    标签: c# vba com class-library regasm


    【解决方案1】:

    确保您已关闭所有 Excel 实例,因为它们将锁定插件。此外,您可能在任务管理器中有一些可以杀死的幽灵 Excel 进程。下面是一个批处理脚本,它将杀死所有 Excel 实例:

    taskkill /F /IM EXCEL.EXE
    

    【讨论】:

    • 我安装了 ProcExplorer 并意识到 Excel 一直在坚持它——事实证明它总是最简单的解决方案!谢谢。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2010-09-27
    • 1970-01-01
    • 1970-01-01
    • 2019-09-15
    • 2011-11-23
    • 2021-05-02
    相关资源
    最近更新 更多