Jason Bock

Home Biography Speaking Articles Books Music

Has My Dynamic Coding Ship Finally Come In?

I couldn’t save this link for one of my “Flagged Links” posts - it needs a post all by itself.

Ever since I started in .NET, I fell in love with assembly reading/writing, metadata, dynamic code execution, etc. This naturally pulled me to the System.Reflection and System.Reflection.Emit namespaces and I was able to do some interesting things with them, but I always felt the picture was incomplete. What about reading PDBs? What about reading method implementations with a nice API?

When FxCop burst on to the scene, I quickly delved into the supporting assemblies to discover that yes, it had that nice API to read assembly contents all the way down to the IL level … but it didn’t have that assembly modification hook.

When Cecil came on my radar, I dove into its infrastructure. I really liked it, and I think it can do even more in the future, but … I really can’t put my finger on why it feels somewhat incomplete, but it does.

Now, the CCI framework has been released on CodePlex.

It looks like it has everything I could ever want.

My first idea? See if I can remove System.Reflection.Emit from DynamicProxies and EmitDebugger and use CCI. I’m not saying it’s a great idea, but that’s the first one that popped into my head.

Thank you Microsoft. I think this should’ve showed up a long time ago, but it’s finally here.

Published: 04.15.2009 08:20:06 AM CST