Ошибка переопределения (C2365) в C ++ / CLI, вызванная Babel Obfuscator - PullRequest
0 голосов
/ 29 февраля 2012

Когда я запутываю свою сборку (DLL с пользовательским управлением), написанную на C #.Он работает как в приложениях C #, так и в приложениях VB.NET.

Однако при использовании библиотеки DLL из приложения C ++ / CLI подобные ошибки появляются во время сборки:

ошибка C2365: 'ComponentOwl :: BetterSplitButton :: BetterSplitButton :: e ': переопределение;предыдущее определение было «свойство»

«е» относится либо к внутреннему члену перечисления, либо к имени частной собственности и т. д.

Можно ли указать Бабу обфускатору не создавать повторяющиеся именаЯ не нашел такой переключатель).Или это можно избежать из кода?

1 Ответ

0 голосов
/ 01 марта 2012

Служба поддержки Babel.NET воспроизвела проблему и предложила добавить параметр командной строки:

--namelength 4

Таким образом, конфликт имен будет менее вероятным.

Они протестировали нерабочее решение и обнаружили, что в обфусцированной сборке нет ошибок метаданных, но компилятор C ++ / CLI по-прежнему жалуется, что в данном типе есть два или более разных символа с одинаковым именем.

...