難読化されたプロジェクトで列挙型を含むクラスをシリアル化しようとすると、次の例外が表示されます。
ProtoBuf.ProtoException: デフォルトの列挙値 X は、オプションのプロパティ Y に対して定義されていません
影響を受けるすべての列挙型を難読化から除外すると、すべて正常に動作しますが、より多くのコード コンテンツを難読化できるように protobuf.net に切り替えたので、より良い解決策があることを願っています。
それで、protobuf.netをめちゃくちゃにするのは難読化ツールですか、それとも列挙型を間違った方法で宣言していますか?
私が試してみました:
[ProtoContract]
public enum X
{
Y, Z
}
と
[ProtoContract]
public enum X
{
Y=0, Z=1
}
また、契約がまったくなく、他のいくつかのそれほど明白ではないこともありますが、除外が機能すること以外は何もありません。ところで: protobuf.net を使用するときに列挙型を使用する必要がある例はどこかにありますか?