0

当我混淆用 C# 编写的组件(带有自定义控件的 DLL)时。它适用于 C# 和 VB.NET 应用程序。

但是,当我使用 C++/CLI 应用程序中的 DLL 时,在构建过程中会出现这样的错误:

错误 C2365:“ComponentOwl::BetterSplitButton::BetterSplitButton::e”:重新定义;以前的定义是“财产”

“e”指的是内部枚举成员、私有属性名称等。

是否可以指示 Babel 混淆器不生成重复名称(我还没有找到这样的开关)。还是可以从代码中避免?

4

1 回答 1

0

Babel.NET Support 重现了该问题并建议添加命令行参数:

--namelength 4

因此,名称冲突的可能性较小。

他们测试了无效的解决方案,发现混淆程序集没有元数据错误,但 C++/CLI 编译器仍然抱怨在给定类型中有两个或多个同名的不同符号。

于 2012-03-01T11:02:50.947 回答