Ich erhalte eine SerializationException für ein enum beim Aufruf von einer AppDomain in eine andere:
System.Runtime.Serialization.SerializationException: Typ ist nicht aufgelöst für Member 'Dummy.MyEnum,Dummy, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null'.
Beispiel-Code:
public enum MyEnum
{
A = 0,
B = 1,
C = 2,
}
public class FooBar : MarshalByRefObject
{
public void Test1(MyEnum dummy)
{
}
public void Test2(object dummy)
{
}
}
Bei diesem Aufruf wird die Ausnahme ausgelöst:
getFooBarInOtherAppDomain().Test1(MyEnum.A);
Bei Verwendung eines anderen serialisierbaren Typs gelingt dies:
getFooBarInOtherAppDomain().Test2(0);
Caller, Callee und Enum sind in derselben Assembly definiert.
Was meint .Net mit "Type is not resolved" und warum wird die Ausnahme ausgelöst? Sind Enums nicht standardmäßig serialisierbar?