2017-10-20 272 views
0

传统应用程序显示所有组件的版本号,它们应该是DLL。我们通过将TLB放入被查询的文件夹中,以各种理由欺骗应用程序。但是,当它列出版本信息时,它会显示为“未知”,因为TLB文件没有文件版本属性。获取TLB的“版本”编号

当我们用regasm filename.dll /tlb:filename.tlb生成TLB时,有没有办法让regasm生成一个TLB,使其具有文件版本?我一直无法找到关于这个在线的任何信息。我认为这是不可能的,因此我们必须想出一个解决方法...

+0

TBL文件支持文件版本,因此您可以使用工具添加文件版本后regasm,如下所示:https://stackoverflow.com/questions/284258/how-do-i-set-the-version- information-for-existing-exe-dll –

+1

这是不是很明显,你正在正确使用tlb文件。他们不包含任何代码,只是声明。它们是C#程序集中元数据的确切等价物。并且通常也嵌入在执行库的可执行文件中。有几个角落案例需要部署,但它们并不常见。他们有一个版本号,只是major.minor,在Project> Add Reference> COM选项卡中可见。检查它是可能的,pinvoke LoadTypeLib获取ITypeLib,调用它的GetLibAttr()方法。 –

回答