【发布时间】:2012-08-07 22:10:28
【问题描述】:
我有一个来自第三方库的 tlb 文件。这个库有很多版本,但是我在 tlb 中使用的函数是不变的,即不会从一个版本更改为下一个版本。
我已将 tlb 文件作为 COM 引用添加到项目中。我可以成功构建和调用第三方库中的函数。
当我部署我的应用程序时,我不能保证用户将在他们的 PC 上安装与我相同的第三方版本。当出现这种情况时,一旦调用第三方库中的函数,他们就会收到访问冲突错误 (0xc0000005)。
如何在运行时加载位于用户 PC 上的 tlb 文件?
【问题讨论】:
-
这不会有好的结果。您需要与客户(或供应商)合作,以确保您需要使程序正常运行的特定版本已安装在机器上。部署该 DLL 无疑是获得该保证的一种方式。接听你破坏另一个程序的电话总是比接听你的程序不起作用的电话更容易。
标签: c# dllimport typelib tlbimp