Try Mono.Cecil if you need System.Reflection.Emit in
Windows Phone 7
As .NET compact framework never support System.Reflection.Emit,
we can’t use Reflection.Emit in Windows Phone 7 development. So, it
prevents us from porting the existing frameworks like Unity, Castle Dynamic Proxy,
Moq and etc to Windows Phone 7 development platform. I was looking all options
that helps us to use Reflection.Emit in Phone 7. The first option that I check is to
port Mono code to Silverlight for Phone 7 version. The second option is to use Mono Cecil
that is using in Mono Core. And the third option is to use EmitCF but I don’t see any
update after beta release so I guess this project is dead already. So, I decided to give
a try on Mono Cecil.
Mono Cecil supports Silverlight, Compact Framework and .NET desktop version. So, it’s
very easy to make Cecil work on Phone 7. All I have to do is to create a conditional called
CF in csproj file and then it will work like a charm. I submitted a patch to Mono Cecil but
Jb Evain said that he doesn’t want to provide csproj officially so I will make the files
downloadable here.