0

C#で記述されたアセンブリ(カスタムコントロール付きのDLL)を難読化したとき。C#アプリとVB.NETアプリの両方で機能します。

ただし、C ++ / CLIアプリからDLLを使用すると、ビルド中に次のようなエラーが表示されます。

エラーC2365:'ComponentOwl :: BetterSplitButton :: BetterSplitButton :: e':再定義; 以前の定義は「プロパティ」でした

「e」は、内部列挙型メンバー、プライベートプロパティ名などのいずれかを指します。

Babel難読化ツールに重複した名前を生成しないように指示することは可能ですか(私はそのようなスイッチを見つけていません)。それとも、コードから回避できますか?

4

1 に答える 1

0

Babel.NETサポートは問題を再現し、コマンドラインパラメータを追加することを提案しました。

--namelength 4

したがって、名前の競合が発生する可能性は低くなります。

彼らは機能しないソリューションをテストし、難読化されたアセンブリにメタデータエラーがないことを発見しましたが、C ++ / CLIコンパイラは、特定のタイプに同じ名前の2つ以上の異なるシンボルがあると文句を言います。

于 2012-03-01T11:02:50.947 に答える