使用TlbImp时互操作版本来自何处

时间:2019-06-20 11:59:15

标签: com version manifest

我正在使用tlbimp生成COM程序集的.Net互操作。该COM程序集具有产品版本和文件版本(如7.X.X.X),但是当我使用TlbImp时,我的互操作程序则具有诸如1.Y.0.0的版本。我知道当我通过执行的命令行的参数使用TLBImp时可以更改此版本,但是我想知道此版本的来源。 我可以访问此COM程序集的清单吗? 为什么在资源管理器中的文件属性上看不到该版本?

我有这个程序集的不同版本,我看到生成的版本总是不同,但是我找不到该版本的来源。

谢谢

1 个答案:

答案 0 :(得分:1)

我预感这是typelib的版本。我参加了一个测试项目,该项目的Typelib为1.0版,并在其中运行了tlbimp,它生成了文件版本为1.0的导入程序集。然后,我将typelib的版本更改为1.19,重新编译,然后重新运行tlbimp。新导入程序集的文件版本为1.19(嗯,为1.19.0.0)。

使用OleView,您可以加载用于tlbimp的EXE / DLL的类型库。检查类型库的版本。将其与导入程序集的文件版本进行比较。我敢打赌他们会比赛。

使他们希望版本号匹配。