【问题标题】:Could Not Load File or Assembly iTextSharp.dll Excel VBA无法加载文件或程序集 iTextSharp.dll Excel VBA
【发布时间】:2016-03-24 05:09:31
【问题描述】:

我开发了一个 C# DLL,它充当 Excel VBA 使用的 iTextSharps 的某些方法的一系列包装类。在我的开发机器和测试机器上它可以工作,但是当我尝试在用户机器上部署它时,在为 C# DLL 和 tlb 运行 regasm.exe 后,我收到消息“无法加载文件或程序集 iTextSharp.dll”

我已将我的 dll 和 tlb 加载到用户机器上并使用 regasm 注册它们。

【问题讨论】:

    标签: c# excel vba itextsharp


    【解决方案1】:

    您需要将 iTextSharps 与您的包装 DLL 一起提供。 DLL 意味着动态链接库,因此当您从包装 DLL 引用 DLL 时,它只是这样做,引用它,而不是包含它。在 C++ 中,您可以进行静态链接,这意味着静态链接库完全包含在链接二进制文件中。

    另外,我认为您需要使用 regsvr32 为 COM InterOp 注册它,而不是 regasm(这是供托管 DLL 和 EXE 使用的全局程序集缓存)。

    【讨论】:

    • 用户在另一个位置。我让 IT 在那个位置运行 regasm,他说他已经在 32 位和 64 位文件夹中加载了 DLL。我需要 iTextSharp 和我开发的 DLL 才能工作吗?我认为不需要。
    • 对不起,我不是故意要回答的,这只是一个评论。
    • 没问题。但是,是的,我有 32 位和 64 位的 DLL,我想他也注册了它
    猜你喜欢
    • 1970-01-01
    • 2020-08-17
    相关资源
    最近更新 更多