防止COM名称管理

时间:2011-03-08 17:22:36

标签: c# com vb6 interop legacy-code

我正在尝试编写一个由c#.net中另一个VB6引用的VB6 dll的替换。

现在我们只能在后期工作,而且我在这方面取得了一些成功。除了我遇到了问题。

我的枚举正在被破坏,导致它被称为'A1BACSTrans_BACSAU',而不是期望'BACSAU'

遗留代码(显然)将不再编译。

这可以预防吗?如果是这样,怎么样?我听说过修改IDL,但我看不到它们中只有一个错误的名称没有被引用的参考...

提前谢谢!

1 个答案:

答案 0 :(得分:1)

伙计们,我一直在c-sharpcorner讨论过这个问题,虽然我自己主要是在解决方案,但我已将其记录在那里

http://www.c-sharpcorner.com/Forums/Thread/111642/preventing-com-name-mangling.aspx

基本上改变IDL是我发现的方式。

我想知道是否有办法在代码中执行此操作,可能是属性,但如果有某种方法我不知道它!