Jon*_*n H 5 c# vb6 com interop legacy-code
我正在尝试编写一个 VB6 dll 的替代品,该 DLL 被 c#.net 中的另一个 VB6 引用。
目前我们只能致力于后者,并且我在这方面取得了一些成功。除非我遇到了问题。
我的枚举被破坏,导致它被称为“A1BACSTrans_BACSAU”,而不是预期的“BACSAU”
遗留代码(显然)将不再编译。
这可以预防吗?如果是这样,怎么办?我听说过修改 IDL,但我在其中看不到对损坏名称的引用,只有未损坏的名称......
先感谢您!
伙计们,我也在 c-sharpcorner 上讨论过这个问题,虽然我主要是自己找到解决方案,但我已经在那里记录了它
http://www.c-sharpcorner.com/Forums/Thread/111642/preventing-com-name-mangling.aspx
基本上改变 IDL 是我发现的方法。
我很想知道是否有办法在代码中做到这一点,也许是一个属性,但如果有办法,我不知道!