Cecil can read and write metadata and IL code so you can even modify existing metadata or IL code. If you want to compile source code to IL code you need a compiler. Neither System.Reflection.Emit nor Cecil provides any compiler so this is not a difference.
Kornél ----- Original Message ----- From: "David Srbecky" <[EMAIL PROTECTED]> To: "Kornél Pál" <[EMAIL PROTECTED]> Cc: <mono-devel-list@lists.ximian.com> Sent: Saturday, July 08, 2006 2:28 AM Subject: Re: [Mono-dev] Edit and Continue / Function body rewrite I do not see how Cecil can help me - can you please outline how could I use it? I know that Cecil can write new IL code and metadata to an assembly, but that's not what I want to do - I somehow want to obtain new IL code and metadata from a given source code of one method. David Kornél Pál wrote: > Why do you want to extend System.Reflection.Emit when Cecil already can do > that? As far as I know Cecil can be used with .NET Framework as well so > you don't even need two different runtimes. > > BTW according to your previous messages you don't only want to change IL > code but you want to modify metadata and string heap as well. > > Kornél > > ----- Original Message ----- From: "David Srbecky" <[EMAIL PROTECTED]> > To: "Kornél Pál" <[EMAIL PROTECTED]> > Cc: <mono-devel-list@lists.ximian.com> > Sent: Saturday, July 08, 2006 1:53 AM > Subject: Re: [Mono-dev] Edit and Continue / Function body rewrite > > >>> If you want to modify existing assemblies you should use Cecil >>> (http://www.mono-project.com/Cecil) because it is designed to do this >>> while System.Reflection.Emit is designed to emit new code and in fact >> >> I do not want to save the new IL code to assembly, I want to save it to >> memory to change a running program - but I know how to do that. >> >> The problem is that I need to somehow *get* the new IL code - do to that >> I need to use gmcs and System.Reflection.Emit. >> >>> it have less support for metadata creation than C# requires because >>> Microsoft is not using it for C# compilation so they didn't reallized >>> that System.Reflection.Emit lacks a lot of features. >> >> That's why I have to use Mono's System.Reflection.Emit not Mircosoft's >> >> David > _______________________________________________ Mono-devel-list mailing list Mono-devel-list@lists.ximian.com http://lists.ximian.com/mailman/listinfo/mono-devel-list