One more question:  how do I do jumps with labels and stuff?  Or do I
have to use raw byte offsets with Cecil?

On Jan 7, 7:55 pm, Michael Kohout <[email protected]> wrote:
> Yes!  This is exactly what I'm looking for.
>
> Thanks a bunch!
> Mike
>
> On Jan 7, 7:14 pm, Dinis Cruz <[email protected]> wrote:
>
>
>
> > Hi Michael
>
> > Are you looking for something like this
> > CreateTestExe.cs<http://code.google.com/p/o2platform/source/browse/trunk/O2%20-%20All%...>
> > ?
> > (here are a bunch of helper methods
> > CecilAssemblyBuilder.cs<http://code.google.com/p/o2platform/source/browse/trunk/O2%20-%20All%...>
> > which
> > I think should help you to *'... emit an assembly/module/Type from
> > scratch...' *).
>
> > I used this to create a Exe on demand for O2
> > Platform<http://www.owasp.org/index.php/OWASP_O2_Platform>'s
> > unit tests.
>
> > Another example you might find useful is the
> > StandAloneExe.cs<http://code.google.com/p/o2platform/source/browse/trunk/O2+-+All+Acti...>
> > which
> > an interesting variation that creates an *.Exe that will invoke a particular
> > .NET method (at the moment it only supports static public methods with no
> > parameters). I use this trick to debug O2's XRules scripts or to be able to
> > start a debugging session in the middle of an .NET Assembly)
>
> > Dinis Cruz
>
> > 2010/1/7 Michael Kohout <[email protected]>
>
> > > Thanks for the pointer...that seems to have moved me to my next errors :-)
>
> > > Is there any good example of using Cecil to emit an assembly/module/Type
> > > from scratch?  My current MO is to create a simple example DLL in C#, open
> > > it with Cecil to inspect it, and then try to duplicate it via Cecil in my 
> > > F#
> > > repl.  So far I'm not really having any success.  Either Cecil throws an
> > > exception or sometimes it just emits an empty assembly(without a simple 
> > > type
> > > I'm trying to create).
>
> > > Previously my MO was to try using Cecil along with Serge Lidin's "Expert
> > > .Net 2.0 IL Assembler", but the differences in Cecil's API to pure textual
> > > IL is too much for my mind to compensate.
>
> > > Any pointers would be appreciated.
>
> > > Mike Kohout
>
> > > On Thu, Jan 7, 2010 at 5:50 AM, Jb Evain <[email protected]> wrote:
>
> > >> Hi Michael,
>
> > >> On Tue, Jan 5, 2010 at 8:14 AM, Michael Kohout <[email protected]>
> > >> wrote:
> > >> >    at Mono.Cecil.ModuleDefinition.Inject(TypeDefinition type)
> > >> >    at <StartupCode$FSI_0003>.$FSI_0003.main@() in C:\Users\Michael
> > >> > Kohout\Documents\CecilCompiler\CecilCompiler\Script.fsx:line 22
>
> > >> Don't call Inject to add a type to an assembly. Just add it to the
> > >> .Types collection on the module. Inject was meant to inject a type
> > >> from an assembly to another, but it's too simplistic to be used in
> > >> real cases.
>
> > >> --
> > >> Jb Evain  <[email protected]>
>
> > >> --
> > >> --
> > >> mono-cecil
>
> > > --
> > > --
> > > mono-cecil
-- 
--
mono-cecil

Reply via email to