https://bugzilla.novell.com/show_bug.cgi?id=331601

           Summary: Can't deserialize a dynamic type
           Product: Mono: Runtime
           Version: unspecified
          Platform: Other
        OS/Version: openSUSE 10.2
            Status: NEW
          Severity: Major
          Priority: P5 - None
         Component: JIT
        AssignedTo: [EMAIL PROTECTED]
        ReportedBy: [EMAIL PROTECTED]
         QAContact: [EMAIL PROTECTED]
          Found By: Other


My code is working in .Net but not in Mono. 
I have a dynamic assembly with dynamic types, created through Reflection.Emit.
During the deserializaton, the BinaryFormatter does not find the dynamic type
because it does not find the dynamic assembly. It happens in .Net but I sort it
out by subscribing the AppDomain.CurrentDomain.AssemblyResolve event and
returning the assembly in the handler. 
The event handler is called also on mono at some stage but I guess there is a
later stage in which is should be called again and it is not. 
The exception trace I get is this:

Failures:
1) bindableObjectsTests.BindableObjectsMain.ChangeBindable :
System.Reflection.TargetInvocationException : Exception has been thrown by the
target of an invo
cation.
  ----> System.TypeLoadException : Could not load type
'PropChPrxy_SimpleBusinessObject2409200722, BoxerpDynamicAssembly, Version=
0.0.0.0, Culture=neutral, PublicKeyToken=null'.
  at System.Reflection.MonoCMethod.Invoke (System.Object obj, BindingFlags
invokeAttr, System.Reflection.Binder binder, System.Object[] parameters,
System.Globalization.CultureInfo culture) [0x00000]
  at System.Reflection.MethodBase.Invoke (System.Object obj, System.Object[]
parameters) [0x00000]
  at System.Runtime.Serialization.ObjectRecord.LoadData
(System.Runtime.Serialization.ObjectManager manager, ISurrogateSelector
selector, StreamingContext context) [0x00000]
  at System.Runtime.Serialization.ObjectManager.DoFixups () [0x00000]
  at System.Runtime.Serialization.Formatters.Binary.ObjectReader.ReadNextObject
(System.IO.BinaryReader reader) [0x00000]
  at
System.Runtime.Serialization.Formatters.Binary.ObjectReader.ReadObjectGraph
(System.IO.BinaryReader reader, Boolean readHeaders, System.Object& result,
System.Runtime.Remoting.Messaging.Header []& headers) [0x00000]
  at
System.Runtime.Serialization.Formatters.Binary.BinaryFormatter.NoCheckDeserialize
(System.IO.Stream serializationStream,
System.Runtime.Remoting.Messaging.HeaderHandler handler) [0x00000]
  at System.Runtime.Serialization.Formatters.Binary.BinaryFormatter.Deserialize
(System.IO.Stream serializationStream) [0x00000]
  at Boxerp.Client.Cloner.GetSerializedClone (System.Object source) [0x0001c]
in
/home/carlos/boxerp/trunk/src/client-lib/client-base/DataBinding/Cloner.cs:19 

I've taken a look at the Mono code and I loose the track in an internal call 
invocation (MonoCMethod.Invoke).

Thanks


-- 
Configure bugmail: https://bugzilla.novell.com/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are the QA contact for the bug.
_______________________________________________
mono-bugs maillist  -  [email protected]
http://lists.ximian.com/mailman/listinfo/mono-bugs

Reply via email to