views:

1344

answers:

2

Hi, I am new to Mono Cecil!

Any comprehensive documentations and tutorials on Mono Cecil?

I have seen these articles and video below, so don't give me these links again:

http://www.mono-project.com/Cecil%3AFAQ

http://blog.paul-mason.co.nz/2009/08/protecting-your-precious-code-monocecil.html

http://www.dimecasts.net/Casts/CastDetails/59

Thanks in advance.

+17  A: 

Eh, after a few hours of googling, I conclude that apparently Mono.Cecil officially lacks documentation... quoting an email response from the library author Jb Evain (in April 2008):

> 2) Is there a documentation for Cecil (other than source code)?

Nop. It has plenty of examples all over the place though.

That said, here are some more links and notes that might be useful:

  • the archives of the the official mono-cecil mailing list
  • some emails on the mailing list suggest learning from various open-source projects using Mono.Cecil (there's a listing of some on the mono-cecil mailing list's Google page)
  • as far as I understand from the terse FAQ you mentioned, there seem to be only six classes making the core of Mono.Cecil (as seen on a diagram), so it may be enough to just open the DLL in some Assembly Browser (like the Visual Studio's Object Browser) and watch. Quite many people seemed to praise the library for it's simplicity.
    • On the other hand, one guy expressed his concerns (email from November 2008) that the library is not so simple.

And some other more or less useful snippets, articles and other tidbits of information:

By the way, should you have some positive experience with the library in future, it would be nice if you considered starting e.g. some wiki (maybe on a free wiki hosting server) about it so that the knowledge you gained could help other people avoid the very problem we're talking about here...

akavel
JbEvain has unfortunately turned down an offer by someone I know to add XML documentation to all of Cecil's types and members. :/
romkyns
not exactly an easy way under those circumstances, but should he be really strong, there's always the option to branch and add the comments for the public benefit in spite of author's humors - and then there's a chance that the author would regain his reason after some time, seeing the work already done. That's the virtue of Open Source, that the product becomes a public good.
akavel
+1  A: 

The real manual for all this stuff is Expert .NET 2.0 IL Assembler by Serge Lidin. It's no relaxing read, but if you're into any of this stuff, it's great.

The Common Language Infrastructure Annotated Standard is a more general book which is useful to have for overview understanding.

Ruben Bartelink