[Mono-dev] Edit and Continue / Function body rewrite

David Srbecky dsrbecky at gmail.com
Fri Jul 7 20:28:12 EDT 2006

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.


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" <dsrbecky at gmail.com>
> To: "Kornél Pál" <kornelpal at gmail.com>
> Cc: <mono-devel-list at 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 

More information about the Mono-devel-list mailing list