Hi,

> You can use TortoiseSVN if you're running Windows, it can create
> patches in the universal diff format.

I've installed TortoiseSVN, it's pretty good.
Now I can get Cecil latest source from SVN easily.
Thanks.

> Ok, I've commited a fix to SVN, Cecil can read every assembly they
> ship. Let me know if you find some more.

Yes. it's great!

Here is another assembly which will fail Cecil, please download from
my site:
http://simpledotnet.googlepages.com/NineRays.FlyGrid.zip

Please try to get body of Method        {System.Void
NineRays.Obfuscator.SoftwareWatermarkAttribute::.ctor(System.String)}

Exception will occur:

Mono.Cecil.ReflectionException occurred
  Message="Wrong token for InlineMethod Operand: Field [0x0607]"
  Source="Mono.Cecil"
  StackTrace:
       at Mono.Cecil.Cil.CodeReader.ReadCilBody(MethodBody body,
BinaryReader br, IDictionary& instructions) in D:\Work\Testing\cecil
\Mono.Cecil.Cil\CodeReader.cs:line 206

Call Stack:
>       
> Mono.Cecil.dll!Mono.Cecil.Cil.CodeReader.ReadCilBody(Mono.Cecil.Cil.MethodBody
>  body = {Mono.Cecil.Cil.MethodBody}, System.IO.BinaryReader br = 
> {System.IO.BinaryReader}, out System.Collections.IDictionary instructions = 
> Count = 1) Line 206  C#
        Mono.Cecil.dll!
Mono.Cecil.Cil.CodeReader.VisitMethodBody(Mono.Cecil.Cil.MethodBody
body = {Mono.Cecil.Cil.MethodBody}) Line 63 + 0xe bytes C#
        Mono.Cecil.dll!Mono.Cecil.MethodDefinition.LoadBody() Line 280 +
0x2c bytes      C#
        Mono.Cecil.dll!Mono.Cecil.MethodDefinition.Body.get() Line 104 + 0x7
bytes   C#

If I skip this with my "dirty" patch, and try to save the assembly,
"Wrong operand for InlineMethod: ...." exception will occur.

Regards
Wicky


--~--~---------~--~----~------------~-------~--~----~
--
mono-cecil
-~----------~----~----~----~------~----~------~--~---

Reply via email to