我有一个内置C#代码的Dll,由于某些需要,我想将它与C ++代码一起使用。
经过长时间的搜索,我找到了一个解决方案,并使用abcd.tlb
从我的abcd.dll
文件中创建了RegASM.exe
。
我在C ++项目中导入了 tlb 文件,一切正常。
但有一段时间后我再次使用相同的 C#代码生成了 tlb 文件,并在旧的 tlb 文件> C ++ 代码,由于函数名称不匹配,旧的C ++代码已停止编译。令我惊讶的是,其中一个函数的名称已从 .tlh 文件中的GetUrl
更改为Geturl
。
当我在另一台机器中使用相同的代码并生成 tlb 文件时,它运行正常。
是否有人知道为何在 .tlh 生成时在特定计算机上更改了功能名称?